DllImportAttribute.ExactSpelling Mező
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Azt határozza meg, hogy a CharSet mező hatására a közös nyelvi futtatókörnyezet nem felügyelt DLL-ben keres-e a megadotttól eltérő belépésipont-neveket.
public: bool ExactSpelling;
public bool ExactSpelling;
val mutable ExactSpelling : bool
Public ExactSpelling As Boolean
Mező értéke
Példák
Bizonyos esetekben Visual Basic fejlesztők a DllImportAttribute a Declare utasítás helyett egy DLL-függvényt definiálnak a felügyelt kódban.
ExactSpelling A mező beállítása az ilyen esetek egyike.
[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
Megjegyzések
Ha falseaz A betűvel hozzáfűzött belépési pont neve akkor lesz meghívva, amikor a DllImportAttribute.CharSet mező be van állítva CharSet.Ansi, és a W betűvel hozzáfűzött belépési pont neve akkor lesz meghívva, ha a DllImportAttribute.CharSet mező értéke a CharSet.Unicode. A felügyelt fordítók általában ezt a mezőt állítják be.
Az alábbi táblázat a programozási nyelv által előírt alapértelmezett értékek alapján mutatja be a mezők és CharSet a ExactSpelling mezők közötti kapcsolatot. Felülbírálhatja az alapértelmezett beállítást, de ezt körültekintően teheti meg.
| Nyelv | 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 |