BestFitMappingAttribute Clase

Definición

Controla si los caracteres Unicode se convierten en los caracteres ANSI coincidentes más cercanos.

public ref class BestFitMappingAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Interface | System.AttributeTargets.Struct, Inherited=false)]
public sealed class BestFitMappingAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Interface | System.AttributeTargets.Struct, Inherited=false)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class BestFitMappingAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Interface | System.AttributeTargets.Struct, Inherited=false)>]
type BestFitMappingAttribute = class
    inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Interface | System.AttributeTargets.Struct, Inherited=false)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type BestFitMappingAttribute = class
    inherit Attribute
Public NotInheritable Class BestFitMappingAttribute
Inherits Attribute
Herencia
BestFitMappingAttribute
Atributos

Ejemplos

En el ejemplo siguiente se muestra cómo deshabilitar la asignación de ajuste óptimo y producir una excepción en la conversión de caracteres Unicode a "?". Carácter ANSI. Establecer BestFitMappingAttribute parámetros de esta manera proporciona una medida adicional de seguridad.

[BestFitMapping(false, ThrowOnUnmappableChar = true)]
interface class IMyInterface1
{
     //Insert code here.
};
[BestFitMapping(false, ThrowOnUnmappableChar = true)]
interface IMyInterface1
{
     //Insert code here.
}
<BestFitMapping(False, ThrowOnUnmappableChar := True)> _
Interface IMyInterface1
     'Insert code here.
End Interface

Comentarios

Puede aplicar este atributo a un ensamblado, interfaz, clase o estructura.

Precaución

Algunos caracteres carecen de una representación más adecuada; Estos caracteres se denominan unmappable. Normalmente, los caracteres que no se pueden aplicar se convierten en el valor predeterminado "?". Carácter ANSI. Algunos caracteres Unicode se convierten en caracteres peligrosos, como el carácter de barra diagonal inversa '\', que puede cambiar accidentalmente una ruta de acceso.

BestFitMappingAttribute proporciona dos parámetros para controlar aspectos de la asignación más adecuada. Use el primer parámetro para activar y desactivar la asignación más adecuada. El valor predeterminado es true, que permite la asignación más adecuada en los niveles de ensamblado, interfaz y clase. Un atributo aplicado a una interfaz o clase invalida un atributo de nivel de ensamblado. Del mismo modo, puede habilitar o deshabilitar la asignación más adecuada para las llamadas de invocación de plataforma mediante el DllImportAttribute.BestFitMapping campo . Un valor establecido por el campo de invocación de plataforma invalida todos los niveles de BestFitMappingAttribute.

Puede usar el segundo parámetro para controlar la generación de una excepción en caracteres no aplicables. El valor predeterminado del ThrowOnUnmappableChar campo es false, que deshabilita la iniciación de una excepción cada vez que el tiempo de ejecución encuentra un carácter Unicode que se debe convertir en "?". Carácter ANSI. Incluso si la asignación más adecuada es true, los caracteres que no se pueden aplicar generan una excepción cuando el ThrowOnUnmappableChar campo es true. Para reforzar la seguridad, puede alternar el primer parámetro a false y el segundo parámetro a true. Esta combinación de la configuración de parámetros desactiva la asignación más adecuada, pero permite que el mecanismo de inicio de excepciones sea una precaución de seguridad.

Precaución

No se pueden cambiar los valores predeterminados proporcionados por BestFitMappingAttribute al pasar una matriz administrada cuyos elementos son caracteres ANSI o LPSTR a una matriz segura no administrada. La asignación más adecuada siempre está habilitada y no se puede producir ninguna excepción. Tenga en cuenta que esta combinación puede poner en peligro el modelo de seguridad.

Constructores

BestFitMappingAttribute(Boolean)

Inicializa una nueva instancia de la clase BestFitMappingAttribute con el valor de la propiedad BestFitMapping.

Campos

ThrowOnUnmappableChar

Habilita o deshabilita el inicio de una excepción cuando un carácter Unicode que no se puede asignar se convierte en un carácter ANSI "?".

Propiedades

BestFitMapping

Obtiene el comportamiento de la asignación de ajuste perfecto a la hora de convertir caracteres Unicode en caracteres ANSI.

TypeId

Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute.

(Heredado de Attribute)

Métodos

Equals(Object)

Devuelve un valor que indica si esta instancia es igual que un objeto especificado.

(Heredado de Attribute)
GetHashCode()

Devuelve el código hash de esta instancia.

(Heredado de Attribute)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IsDefaultAttribute()

Si se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado de la clase derivada.

(Heredado de Attribute)
Match(Object)

Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado.

(Heredado de Attribute)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.

(Heredado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Obtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz.

(Heredado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1).

(Heredado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acceso a las propiedades y los métodos expuestos por un objeto.

(Heredado de Attribute)

Se aplica a

Consulte también