DllImportAttribute.ExactSpelling-Feld
Veröffentlicht: Oktober 2016
Steuerelemente, ob die DllImportAttribute.CharSet Feld bewirkt, dass die common Language Runtime eine nicht verwaltete DLL-Einstiegspunkt andere als die angegebene Namen gesucht.
Namespace: System.Runtime.InteropServices
Assembly: mscorlib (in mscorlib.dll)
Syntax
public bool ExactSpelling
public:
bool ExactSpelling
val mutable ExactSpelling : bool
Public ExactSpelling As Boolean
Feldwert
Type: System.Boolean
Hinweise
Wenn false, Einstiegspunktname, die mit dem Buchstaben A wird aufgerufen, wenn die DllImportAttribute.CharSet Feld CharSet.Ansi, und dem Namen des Einstiegspunkts mit dem Buchstaben W angehängten aufgerufen wird beim der DllImportAttribute.CharSet Feld der CharSet.Unicode. Dieses Feld wird üblicherweise von verwalteten Compiler festgelegt.
Die folgende Tabelle zeigt die Beziehung zwischen der CharSet und ExactSpelling Feldern basierend auf Standardwerte, die durch die Programmiersprache eingeführt. Sie können die Standardeinstellung überschreiben jedoch mit Vorsicht tun.
Sprache |
ANSI |
Unicode |
Auto |
---|---|---|---|
Visual Basic |
ExactSpelling: = True |
ExactSpelling: = True |
ExactSpelling: = False |
C# |
ExactSpelling = False |
ExactSpelling = False |
ExactSpelling = False |
C++ |
ExactSpelling = False |
ExactSpelling = False |
ExactSpelling = False |
Beispiele
In einigen Fällen verwenden Visual Basic-Entwickler die DllImportAttribute, anstatt die Declare Anweisung, um eine DLL-Funktion in verwaltetem Code zu definieren. Festlegen der ExactSpelling Feld ist ein solcher Fall.
public class Win32
{
[DllImport("user32.dll", CharSet=CharSet.Unicode,
ExactSpelling=true)]
public static extern int MessageBoxW(IntPtr hWnd, String text,
String caption, uint type);
}
Public Class Win32
<DllImport("user32.dll", ExactSpelling := False)> _
Public Shared Function MessageBox(hWnd As IntPtr, text As String, _
caption As String, type As UInteger) As Integer
End Function
End Class
[DllImport("user32.dll", CharSet=CharSet::Ansi, ExactSpelling=true)]
int MessageBoxA(IntPtr hWnd, String^ Text,
String^ Caption, unsigned int Type);
Versionsinformationen
Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 8.0
Windows Phone
Verfügbar seit 8.1
Siehe auch
DllImportAttribute-Klasse
System.Runtime.InteropServices-Namespace
Zurück zum Anfang