CharSet Enumeração
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Determina que conjunto de caracteres as strings marshaled devem usar.
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
- Herança
- Atributos
Campos
| Name | Valor | Description |
|---|---|---|
| None | 1 | Este valor é obsoleto e tem o mesmo comportamento que Ansi. |
| Ansi | 2 | Strings de marshal como cadeias de caracteres de múltiplos bytes: a página de código padrão do sistema Windows (ANSI) no Windows, e UTF-8 no Unix. |
| Unicode | 3 | Strings de marshal como cadeias de caracteres Unicode de 2 bytes. |
| Auto | 4 | Faz automaticamente o marshal das cadeias de forma apropriada para o sistema operativo de destino. Consulte Charsets e organização para mais detalhes. Embora o padrão comum de runtime em linguagem seja Auto, as linguagens podem sobrepor-se a este padrão. Por exemplo, por defeito, C# e Visual Basic marcam todos os métodos e tipos como Ansi. |
Exemplos
O exemplo de código seguinte mostra como especificar um CharSet valor de enumeração ao aplicar o StructLayoutAttribute a uma definição gerida.
[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
Observações
Como existem vários tipos de cadeias não geridas e apenas um tipo de cadeia gerida, deve usar um conjunto de caracteres para especificar como as cadeias geridas devem ser orientadas para código não gerido. Esta enumeração, que fornece opções de conjunto de caracteres, é usada por DllImportAttribute e StructLayoutAttribute. Para uma descrição detalhada do marshaling de cadeias e do comportamento de correspondência de nomes associado a esta enumeração, veja Especificar um Conjunto de Caracteres.