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

Поля

Имя Значение Описание
None 1

Это значение устарело и имеет то же поведение, что Ansiи .

Ansi 2

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

Unicode 3

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

Auto 4

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

Примеры

В следующем примере кода показано, как указать 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. Подробное описание поведения сопоставления строк и сопоставления имен, связанных с этим перечислением, см. в разделе "Указание набора символов".

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

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