Teilen über


CharSet Enumeration

Definition

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

public enum class CharSet
public enum CharSet
[System.Serializable]
public enum CharSet
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum CharSet
type CharSet = 
[<System.Serializable>]
type CharSet = 
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type CharSet = 
Public Enum CharSet
Vererbung
Attribute

Felder

Ansi 2

Marshallt Zeichenfolgen als Mehrfachbyte-Zeichenfolgen: Systemstandardeinstellung Windows-Codeseite (ANSI) unter Windows und UTF-8 unter Unix.

Auto 4

Marshallt Zeichenfolgen automatisch entsprechend dem Zielbetriebssystem. Weitere Informationen finden Sie unter Zeichensätze und Marshalling. Obwohl der Common Language Runtime-Standard Auto ist, überschreiben Sprachen möglicherweise diesen Standard. Beispielsweise markieren C# und Visual Basic standardmäßig alle Methoden und Typen als Ansi.

None 1

Dies ist ein veralteter Wert, der dasselbe Verhalten wie Ansi aufweist.

Unicode 3

Marshallt Zeichenfolgen als 2-Byte-Unicode-Zeichenfolgen.

Beispiele

Das folgende Codebeispiel zeigt, wie sie einen CharSet Enumerationswert angeben, wenn sie auf StructLayoutAttribute eine verwaltete Definition angewendet wird.

[StructLayout(LayoutKind::Sequential, CharSet=CharSet::Ansi)]
public ref struct MyPerson
{
public:
    String^ first;
    String^ last;
};
[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

Hinweise

Da es mehrere nicht verwaltete Zeichenfolgentypen und nur einen verwalteten Zeichenfolgentyp gibt, müssen Sie einen Zeichensatz verwenden, um anzugeben, wie verwaltete Zeichenfolgen in nicht verwalteten Code gemarshallt werden sollen. Diese Enumeration, die Zeichensatzoptionen bereitstellt, wird von DllImportAttribute und StructLayoutAttributeverwendet. Eine ausführliche Beschreibung des Zeichenfolgenmarshallings und des Namensabgleichsverhaltens, das dieser Enumeration zugeordnet ist, finden Sie unter Angeben eines Zeichensatzes.

Gilt für:

Weitere Informationen