DllImportAttribute.ExactSpelling Pole
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje, zda pole způsobí, že CharSet modul CLR (Common Language Runtime) prohledá nespravovanou knihovnu DLL pro jiné názvy vstupních bodů, než je zadaný.
public: bool ExactSpelling;
public bool ExactSpelling;
val mutable ExactSpelling : bool
Public ExactSpelling As Boolean
Hodnota pole
Příklady
V některých případech vývojáři Visual Basic používají DllImportAttribute místo příkazu Declare k definování funkce knihovny DLL ve spravovaném kódu.
ExactSpelling Nastavení pole je jedním z těchto případů.
[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
Poznámky
Pokud falsese při nastavení DllImportAttribute.CharSetpole vyvolá CharSet.Ansi název vstupního bodu s písmenem A a při nastavení DllImportAttribute.CharSetpole se vyvolá CharSet.Unicode název vstupního bodu s písmenem W. Spravované kompilátory obvykle nastavují toto pole.
Následující tabulka ukazuje vztah mezi poli CharSet a ExactSpelling poli na základě výchozích hodnot uložených programovacím jazykem. Výchozí nastavení můžete přepsat, ale postupujte opatrně.
| Jazyk | organizace ANSI | Unicode | Auto |
|---|---|---|---|
| Visual Basic | ExactSpelling:=True | ExactSpelling:=True | ExactSpelling:=False |
| jazyk C# | ExactSpelling=false | ExactSpelling=false | ExactSpelling=false |
| C++ | ExactSpelling=false | ExactSpelling=false | ExactSpelling=false |