CharSet CharSet CharSet CharSet Enum

Definición

Indica qué juego de caracteres deben usar las cadenas con referencias calculadas.Dictates which character set marshaled strings should use.

public enum class CharSet
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum CharSet
type CharSet = 
Public Enum CharSet
Herencia
Atributos

Campos

Ansi Ansi Ansi Ansi 2

Calcular las referencias de cadenas como cadenas de caracteres de varios bytes.Marshal strings as multiple-byte character strings.

Auto Auto Auto Auto 4

Serializar automáticamente las cadenas de forma apropiada para el sistema operativo de destino.Automatically marshal strings appropriately for the target operating system. Consulte juegos de caracteres y el cálculo de referencias para obtener más información.See Charsets and marshaling for details. Aunque el valor predeterminado de common language runtime es Auto, lenguajes pueden invalidar este comportamiento predeterminado.Although the common language runtime default is Auto, languages may override this default. Por ejemplo, de manera predeterminada C# y Visual Basic marcan todos los métodos y tipos como Ansi.For example, by default C# and Visual Basic mark all methods and types as Ansi.

None None None None 1

Este valor está obsoleto y tiene el mismo comportamiento que Ansi.This value is obsolete and has the same behavior as Ansi.

Unicode Unicode Unicode Unicode 3

Calcular las referencias de cadenas como cadenas Unicode de caracteres de 2 bytes.Marshal strings as Unicode 2-byte character strings.

Ejemplos

El ejemplo de código siguiente muestra cómo especificar un CharSet valor de enumeración al aplicar el StructLayoutAttribute a una definición administrada.The following code example shows how to specify a CharSet enumeration value when applying the StructLayoutAttribute to a managed definition.

[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

Comentarios

Dado que hay varios tipos de cadena no administrada y solo el tipo de cadena administrada, debe usar un juego de caracteres para especificar las cadenas administradas en cómo se deben serializar a código no administrado.Because there are several unmanaged string types and only one managed string type, you must use a character set to specify how managed strings should be marshaled to unmanaged code. Esta enumeración, que proporciona opciones de juego de caracteres, se usa por DllImportAttribute y StructLayoutAttribute.This enumeration, which provides character set options, is used by DllImportAttribute and StructLayoutAttribute. Para obtener una descripción detallada de la serialización de cadenas y el nombre que coincida con el comportamiento asociado a esta enumeración, vea especificar un juego de caracteres.For a detailed description of the string marshaling and name matching behavior associated with this enumeration, see Specifying a Character Set.

Se aplica a

Consulte también: