Compartilhar via


Enumeração CharSet

 

Dica

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Impõe qual conjunto de caracteres as cadeias de caracteres com marshaling devem usar.

Namespace:   System.Runtime.InteropServices
Assembly:  mscorlib (em mscorlib.dll)

Sintaxe

[SerializableAttribute]
[ComVisibleAttribute(true)]
public enum CharSet
[SerializableAttribute]
[ComVisibleAttribute(true)]
public enum class CharSet
[<SerializableAttribute>]
[<ComVisibleAttribute(true)>]
type CharSet
<SerializableAttribute>
<ComVisibleAttribute(True)>
Public Enumeration CharSet

Membros

Nome do membro Descrição
Ansi

Realizar marshaling de cadeias de caracteres como cadeias de caracteres de vários bytes.

Auto

Realizar marshaling automático de cadeias de caracteres apropriado para o sistema operacional de destino. O padrão é Unicode no Windows NT, no Windows 2000, no Windows XP e na família do Windows Server 2003; o padrão é Ansi no Windows 98 e no Windows Me. Embora o padrão de Common Language Runtime seja Auto, as linguagens podem substituir esse padrão. Por exemplo, por padrão C# marca todos os métodos e tipos como Ansi.

None

Esse valor é obsoleto e tem o mesmo comportamento que CharSet.Ansi.

Unicode

Realizar marshaling de cadeias de caracteres como cadeias de caracteres Unicode de 2 bytes.

Comentários

Porque há vários tipos de cadeia de caracteres não gerenciado e somente um gerenciado tipo cadeia de caracteres, você deve usar um conjunto para especificar como gerenciadas cadeias de caracteres devem passar por marshaling para código não gerenciado. Esta enumeração, que fornece opções de conjunto de caracteres, é usada por DllImportAttribute e StructLayoutAttribute. Para obter uma descrição detalhada do comportamento associado a esta enumeração de correspondência de nomes e empacotamento de cadeia de caracteres, consulte Especificando um conjunto de caracteres.

Exemplos

O exemplo de código a seguir mostra como especificar um CharSet valor de enumeração ao aplicar o StructLayoutAttribute para a definição gerenciada.

[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
[StructLayout(LayoutKind::Sequential, CharSet=CharSet::Ansi)]
public ref struct MyPerson
{
public:
    String^ first;
    String^ last;
};

Informações de Versão

Plataforma Universal do Windows
Disponível desde 8
.NET Framework
Disponível desde 1.1
Biblioteca de Classes Portátil
Com suporte no: plataformas portáteis do .NET
Silverlight
Disponível desde 2.0
Windows Phone Silverlight
Disponível desde 7.0
Windows Phone
Disponível desde 8.1

Confira Também

DllImportAttribute
StructLayoutAttribute
Namespace System.Runtime.InteropServices

Retornar ao início