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 CharSet pole způsobí, že modul CLR (Common Language Runtime) vyhledá v nespravované knihovně DLL jiné názvy vstupních bodů než 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 používají vývojáři jazyka Visual Basic k definování funkce knihovny DLL ve spravovaném DllImportAttributekódu místo Declare
příkazu .
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 false
, název vstupního bodu připojený k písmenu A se vyvolá při DllImportAttribute.CharSet nastavení pole na CharSet.Ansi
hodnotu a název vstupního bodu připojený k písmenu W se vyvolá, když DllImportAttribute.CharSet je pole nastaveno CharSet.Unicode
na . Toto pole obvykle nastavují spravované kompilátory.
Následující tabulka ukazuje relaci mezi CharSet poli a ExactSpelling na základě výchozích hodnot stanovených programovacím jazykem. Výchozí nastavení můžete přepsat, ale postupujte opatrně.
Jazyk | ANSI | Kódování Unicode | Auto |
---|---|---|---|
Visual Basic | ExactSpelling:=True | ExactSpelling:=True | ExactSpelling:=False |
C# | ExactSpelling=false | ExactSpelling=false | ExactSpelling=false |
C++ | ExactSpelling=false | ExactSpelling=false | ExactSpelling=false |