CharSet Enumeração
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Impõe qual conjunto de caracteres as cadeias de caracteres com marshaling 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
Ansi | 2 | Realizar marshaling de cadeias de caracteres como cadeias de caracteres de vários bytes: a página de código do Windows (ANSI) padrão no Windows e UTF-8 no UNIX. |
Auto | 4 | Realizar marshaling automático de cadeias de caracteres apropriado para o sistema operacional de destino. Confira Conjuntos de caracteres e marshaling para obter detalhes. Embora o padrão de Common Language Runtime seja Auto, as linguagens podem substituir esse padrão. Por exemplo, por padrão o C# e o Visual Basic marcam todos os métodos e tipos como Ansi. |
None | 1 | Esse valor é obsoleto e tem o mesmo comportamento que Ansi. |
Unicode | 3 | Realizar marshaling de cadeias de caracteres como cadeias de caracteres Unicode de 2 bytes. |
Exemplos
O exemplo de código a seguir mostra como especificar um CharSet valor de enumeração ao aplicar o StructLayoutAttribute a uma definição gerenciada.
[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
Comentários
Como há vários tipos de cadeia de caracteres não gerenciados e apenas um tipo de cadeia de caracteres gerenciada, você deve usar um conjunto de caracteres para especificar como as cadeias de caracteres gerenciadas devem ser empacotadas para código não gerenciado. Essa enumeração, que fornece opções de conjunto de caracteres, é usada por DllImportAttribute e StructLayoutAttribute. Para obter uma descrição detalhada do marshaling de cadeia de caracteres e do comportamento de correspondência de nomes associado a essa enumeração, consulte Especificando um conjunto de caracteres.