CharSet Перечисление

Определение

Определяет, какой набор символов должны использовать упакованные строки.

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
Наследование
Атрибуты

Поля

Ansi 2

Маршалирует строки как многобайтовые символьные строки: системные значения по умолчанию — кодовая страница Windows (ANSI) в Windows и UTF-8 в Unix.

Auto 4

Выполняет автоматический маршалинг строк способом, соответствующим целевой операционной системе. Дополнительные сведения см. в разделе Наборы символов и маршалирование. Хотя для среды CLR по умолчанию используется значение Auto, языки программирования могут переопределить это значение. Например, C# и Visual Basic по умолчанию помечают все методы и типы как Ansi.

None 1

Это значение устарело и по поведению аналогично значению Ansi.

Unicode 3

Маршалирует строки в виде 2-байтных символьных строк Юникода.

Примеры

В следующем примере кода показано, как указать CharSet значение перечисления при применении StructLayoutAttribute к управляемому определению.

[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

Комментарии

Так как существует несколько неуправляемых типов строк и только один управляемый тип строки, необходимо использовать набор символов, чтобы указать способ маршалирования управляемых строк в неуправляемый код. Это перечисление, которое предоставляет параметры набора символов, используется DllImportAttribute и StructLayoutAttribute. Подробное описание поведения маршалинга строк и сопоставления имен, связанных с этим перечислением, см. в разделе "Указание набора символов".

Применяется к

См. также раздел