j'ai une déclaration de méthode suivante en VB et ont besoin de le traduire en C#:VB à C# réécriture question
<DllImport("winspool.Drv", EntryPoint:="OpenPrinterW", _
SetLastError:=True, CharSet:=CharSet.Unicode, _
ExactSpelling:=True, CallingConvention:=CallingConvention.StdCall)> _
Public Shared Function OpenPrinter(ByVal src As String, ByRef hPrinter As IntPtr, ByVal pd As Int16) As Boolean
End Function
En particulier, je ne suis pas sûr si elle le spécificateur argument ByRef
équivaut à ref
est C#.
Aussi, je ne sais pas si Shared == static
et si ce doit être extern
. Probablement beaucoup d'entre vous maîtrisent à la fois VB et C#, donc je vous serais reconnaissant de fournir une déclaration correcte en C#.
Ceci n'est pas correct. À tout le moins, il manque le 'extern' et a un corps de méthode trop. –
@Konrad: Vous avez raison. Sans plus de contexte, le traducteur ne sait pas que l'implémentation est externe, car DllImport ne prend pas "sérieusement" comme il se doit. Modification pour corriger. –