Freigeben über


CharSet-Enumeration

 

Veröffentlicht: Oktober 2016

Gibt an, welcher Zeichensatz von gemarshallten Zeichenfolgen verwendet werden soll.

Namespace:   System.Runtime.InteropServices
Assembly:  mscorlib (in mscorlib.dll)

Syntax

[SerializableAttribute]
[ComVisibleAttribute(true)]
public enum CharSet
[SerializableAttribute]
[ComVisibleAttribute(true)]
public enum class CharSet
[<SerializableAttribute>]
[<ComVisibleAttribute(true)>]
type CharSet
<SerializableAttribute>
<ComVisibleAttribute(True)>
Public Enumeration CharSet

Member

Membername Beschreibung
Ansi

Marshallen von Zeichenfolgen als Zeichenfolgen mit mehreren Byte-Zeichen.

Auto

Automatisch Marshallen von Zeichenfolgen für das Ziel-Betriebssystem. Der Standardwert ist Unicode auf Windows NT, Windows 2000, Windows XP und Windows Server 2003-Produktfamilie; der Standardwert ist Ansi unter Windows 98 und Windows Me. Obwohl die common Language Runtime-Standard ist Auto, Sprachen können diese Standardeinstellung außer Kraft setzen. Beispielsweise standardmäßig c# markiert alle Methoden und Typen als Ansi.

None

Dieser Wert ist veraltet und hat das gleiche Verhalten wie CharSet.Ansi.

Unicode

Marshallen von Zeichenfolgen als Unicode-2-Byte-Zeichen.

Hinweise

Da es mehrere nicht verwaltete Zeichenfolgen-Datentypen und nur einen Zeichenfolgentyp verwaltet, müssen Sie verwenden sollen ein Zeichensatz an, wie verwaltete Zeichenfolgen von nicht verwaltetem Code gemarshallt werden. Diese Enumeration stellt die Optionen festlegen, werden DllImportAttribute und StructLayoutAttribute. Eine ausführliche Beschreibung der Marshallen von Zeichenfolgen und des Verhaltens dieser Enumeration zugeordneten, finden Sie unter Specifying a Character Set.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie an eine CharSet Enumerationswert beim Anwenden der StructLayoutAttribute auf eine verwaltete Definition.

[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Ansi)]
public struct MyPerson
{
    public String first;
    public String last;
}
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Ansi)> _
Public Structure MyPerson
    Public first As String
    Public last As String
End Structure
[StructLayout(LayoutKind::Sequential, CharSet=CharSet::Ansi)]
public ref struct MyPerson
{
public:
    String^ first;
    String^ last;
};

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 7.0
Windows Phone
Verfügbar seit 8.1

Siehe auch

DllImportAttribute
StructLayoutAttribute
System.Runtime.InteropServices-Namespace

Zurück zum Anfang