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