DllImportAttribute.CharSet Campo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Indica come effettuare il marshalling dei parametri stringa al metodo e al mangling dei controlli.
public: System::Runtime::InteropServices::CharSet CharSet;
public System.Runtime.InteropServices.CharSet CharSet;
val mutable CharSet : System.Runtime.InteropServices.CharSet
Public CharSet As CharSet
Valore del campo
Esempio
L'esempio di codice seguente illustra come usare l'attributo DllImportAttribute per importare la funzione Win32 MessageBox . L'esempio di codice chiama quindi il metodo importato.
using System;
using System.Runtime.InteropServices;
class Example
{
// Use DllImport to import the Win32 MessageBox function.
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
public static extern int MessageBox(IntPtr hWnd, String text, String caption, uint type);
static void Main()
{
// Call the MessageBox function using platform invoke.
MessageBox(new IntPtr(0), "Hello World!", "Hello Dialog", 0);
}
}
Imports System.Runtime.InteropServices
Module Example
' Use DllImport to import the Win32 MessageBox function.
<DllImport("user32.dll", CharSet:=CharSet.Unicode)> _
Function MessageBox(ByVal hwnd As IntPtr, ByVal t As String, ByVal caption As String, ByVal t2 As UInt32) As Integer
End Function
Sub Main()
' Call the MessageBox function using platform invoke.
MessageBox(New IntPtr(0), "Hello World!", "Hello Dialog", 0)
End Sub
End Module
Commenti
Utilizzare questo campo con un membro dell'enumerazione CharSet per specificare il comportamento di marshalling dei parametri stringa e per specificare il nome del punto di ingresso da richiamare (il nome esatto specificato o un nome che termina con "A" o "W"). Il membro di enumerazione predefinito per C# e Visual Basic è CharSet.Ansi e il membro di enumerazione predefinito per C++ è CharSet.None, equivalente a CharSet.Ansi. In Visual Basic si usa l'istruzione
Il ExactSpelling campo influenza il comportamento del CharSet campo per determinare il nome del punto di ingresso da richiamare. Per una descrizione dettagliata ed esempi del comportamento di marshalling delle stringhe e di corrispondenza dei nomi associati al CharSet campo, vedere Specifica di un set di caratteri.