CharSet Wyliczenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Określa, który zestaw znaków ma być używany przez zestaw ciągów marshalowanych.
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
- Dziedziczenie
- Atrybuty
Pola
Ansi | 2 | Marshaling strings as multiple-byte character strings: systemowa domyślna strona kodowa systemu Windows (ANSI) w systemie Windows i UTF-8 w systemie Unix. |
Auto | 4 | Automatycznie marshaluje ciągi odpowiednio dla docelowego systemu operacyjnego. Szczegółowe informacje można znaleźć w temacie Charsets and marshaling (Zestawy znaków i marshaling). Mimo że domyślne środowisko uruchomieniowe języka wspólnego to Auto, języki mogą zastąpić tę wartość domyślną. Na przykład domyślnie C# i Visual Basic oznaczyć wszystkie metody i typy jako Ansi. |
None | 1 | Ta wartość jest przestarzała i ma takie samo zachowanie jak Ansi. |
Unicode | 3 | Przeprowadzanie marshalingu ciągów jako ciągów znaków Unicode 2-bajtowych. |
Przykłady
W poniższym przykładzie kodu pokazano, jak określić CharSet wartość wyliczenia podczas stosowania StructLayoutAttribute elementu do definicji zarządzanej.
[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
Uwagi
Ponieważ istnieje kilka niezarządzanych typów ciągów i tylko jeden typ ciągu zarządzanego, należy użyć zestawu znaków, aby określić sposób, w jaki zarządzane ciągi powinny być marshalowane do niezarządzanego kodu. To wyliczenie, które udostępnia opcje zestawu znaków, jest używane przez DllImportAttribute element i StructLayoutAttribute. Aby uzyskać szczegółowy opis działania marshalingu ciągów i dopasowywania nazw skojarzonych z tym wyliczeniem, zobacz Określanie zestawu znaków.