DllImportAttribute.ExactSpelling 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.
Controlla se il CharSet campo fa sì che Common Language Runtime esequisi una DLL non gestita per individuare nomi di punti di ingresso diversi da quello specificato.
public: bool ExactSpelling;
public bool ExactSpelling;
val mutable ExactSpelling : bool
Public ExactSpelling As Boolean
Valore del campo
Esempio
In alcuni casi, Visual Basic sviluppatori usano il DllImportAttribute, anziché usare l'istruzione Declare, per definire una funzione DLL nel codice gestito. L'impostazione del ExactSpelling campo è uno di questi casi.
[DllImport("user32.dll", CharSet = CharSet::Ansi, ExactSpelling = true)]
int MessageBoxA(IntPtr hWnd, String^ Text,
String^ Caption, unsigned int Type);
internal static class NativeMethods
{
[DllImport("user32.dll", CharSet = CharSet.Unicode,
ExactSpelling = true)]
internal static extern int MessageBoxW(
IntPtr hWnd, string lpText, string lpCption, uint uType);
}
Friend Class NativeMethods
<DllImport("user32.dll", ExactSpelling:=False)>
Friend Shared Function MessageBox(hWnd As IntPtr, lpText As String,
lpCaption As String, uType As UInteger) As Integer
End Function
End Class
Commenti
Se false, il nome del punto di ingresso accodato con la lettera A viene richiamato quando il DllImportAttribute.CharSet campo è impostato su CharSet.Ansie il nome del punto di ingresso accodato con la lettera W viene richiamato quando il DllImportAttribute.CharSet campo viene impostato su CharSet.Unicode. In genere, i compilatori gestiti impostano questo campo.
Nella tabella seguente viene illustrata la relazione tra i CharSet campi e ExactSpelling in base ai valori predefiniti imposti dal linguaggio di programmazione. È possibile eseguire l'override dell'impostazione predefinita, ma prestare attenzione.
| Language | ANSI (Istituto Nazionale Americano degli Standard) | Unicode | Auto |
|---|---|---|---|
| Visual Basic | ExactSpelling:=True | ExactSpelling:=True | ExactSpelling:=False |
| C# | ExactSpelling=false | ExactSpelling=false | ExactSpelling=false |
| C++ | ExactSpelling=false | ExactSpelling=false | ExactSpelling=false |