Enumeración CharSet
Publicado: octubre de 2016
Indica qué juego de caracteres deben usar las cadenas con referencias calculadas.
Espacio de nombres: System.Runtime.InteropServices
Ensamblado: mscorlib (en mscorlib.dll)
Sintaxis
[SerializableAttribute]
[ComVisibleAttribute(true)]
public enum CharSet
[SerializableAttribute]
[ComVisibleAttribute(true)]
public enum class CharSet
[<SerializableAttribute>]
[<ComVisibleAttribute(true)>]
type CharSet
<SerializableAttribute>
<ComVisibleAttribute(True)>
Public Enumeration CharSet
Miembros
Nombre de miembro | Descripción | |
---|---|---|
Ansi | Calcular referencias de cadenas como cadenas de caracteres de varios bytes. |
|
Auto | Calcula automáticamente las referencias de cadenas de forma apropiada para el sistema operativo de destino. El valor predeterminado es Unicode en Windows NT, Windows 2000, Windows XP y la familia Windows Server 2003; el valor predeterminado es Ansi en Windows 98 y Windows Millennium Edition. Aunque el valor predeterminado de common language runtime es Auto, los lenguajes pueden invalidar este valor predeterminado. Por ejemplo, de manera predeterminada C# marca todos los métodos y tipos como Ansi. |
|
None | Este valor está obsoleto y tiene el mismo comportamiento que CharSet.Ansi. |
|
Unicode | Calcular referencias de cadenas como caracteres de 2 bytes de Unicode. |
Comentarios
Dado que hay varios tipos de cadena no administrada y solo tipo de cadena administrada, debe utilizarse un juego de caracteres para especificar cadenas administradas cómo deben calcularse a código no administrado. Utiliza esta enumeración, que proporciona opciones de juego de caracteres, DllImportAttribute y StructLayoutAttribute. Para obtener una descripción detallada del cálculo de referencias de cadena y nombre coincide con el comportamiento asociado con esta enumeración, consulte Specifying a Character Set.
Ejemplos
En el ejemplo de código siguiente se muestra cómo especificar un CharSet el valor de enumeración al aplicar el StructLayoutAttribute a una definición administrada.
[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;
};
Información de versión
Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 1.1
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Ver también
DllImportAttribute
StructLayoutAttribute
Espacio de nombres System.Runtime.InteropServices
Volver al principio