CharSet-Enumeration
Bestimmt, welcher Zeichensatz für gemarshallte Zeichenfolgen verwendet werden soll.
Namespace: System.Runtime.InteropServices
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Enumeration CharSet
'Usage
Dim instance As CharSet
[SerializableAttribute]
[ComVisibleAttribute(true)]
public enum CharSet
[SerializableAttribute]
[ComVisibleAttribute(true)]
public enum class CharSet
/** @attribute SerializableAttribute() */
/** @attribute ComVisibleAttribute(true) */
public enum CharSet
SerializableAttribute
ComVisibleAttribute(true)
public enum CharSet
Member
Membername | Beschreibung | |
---|---|---|
Ansi | Marshallt Zeichenfolgen als Mehrfachbyte-Zeichenfolgen. | |
Auto | Marshallt Zeichenfolgen automatisch entsprechend dem Zielbetriebssystem. Für Windows NT, Windows 2000, Windows XP und die Windows Server 2003-Produktfamilie ist der Standardwert Unicode, für Windows 98 und Windows Me Ansi. Obwohl der Standardwert der Common Language Runtime Auto ist, wird er von bestimmten Sprachen möglicherweise überschrieben. Beispielsweise markiert C# standardmäßig alle Methoden und Typen als Ansi. | |
None | Dies ist ein veralteter Wert, der dasselbe Verhalten wie CharSet.Ansi aufweist. | |
Unicode | Marshallt Zeichenfolgen als 2-Byte-Unicode-Zeichen. |
Hinweise
Da es mehrere nicht verwaltete und nur einen verwalteten Zeichenfolgentyp gibt, müssen Sie mit einem Zeichensatz angeben, wie verwaltete Zeichenfolgen in nicht verwalteten Code gemarshallt werden sollen. Diese Enumeration bietet Zeichensatzoptionen und wird von DllImportAttribute und StructLayoutAttribute verwendet. Eine ausführliche Beschreibung des Marshalling von Zeichenfolgen und des Verhaltens bei Namensvergleich für diese Enumeration finden Sie unter Angeben eines Zeichensatzes.
Beispiel
Das folgend Codebeispiel veranschaulicht, wie beim Anwenden des StructLayoutAttribute auf eine verwaltete Definition der Wert einer CharSet-Enumeration angegeben wird.
< StructLayout(LayoutKind.Sequential, CharSet := CharSet.Ansi)> _
Public Structure MyPerson
Public first As String
Public last As String
End Structure 'MyPerson
[ StructLayout(LayoutKind.Sequential, CharSet=CharSet.Ansi)]
public struct MyPerson
{
public String first;
public String last;
}
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
System.Runtime.InteropServices-Namespace
DllImportAttribute
StructLayoutAttribute