ho un seguente dichiarazione di metodo in VB e la necessità di tradurlo in C#:VB a C# riscrittura domanda
<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
In particolare io non sono sicuro se lo specificatore ByRef
argomento è equivalente a ref
è C#.
Inoltre, non so se Shared == static
e se deve essere extern
. Probabilmente molti di voi sono competenti sia in VB che in C#, quindi sarei grato di fornire una dichiarazione corretta in C#.
Questo non è corretto. Per lo meno, manca il 'extern 'e ha un corpo di metodo troppi. –
@Konrad: hai ragione. Senza più contesto, il traduttore non sa che l'implementazione è esterna, poiché DllImport non richiede "sul serio" come dovrebbe. Modifica per correggere. –