Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

BestFitMappingAttribute (Clase)

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

System.Object
  System.Attribute
    System.Runtime.InteropServices.BestFitMappingAttribute

Espacio de nombres:  System.Runtime.InteropServices
Ensamblado:  mscorlib (en mscorlib.dll)

[AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Interface, Inherited = false)]
[ComVisibleAttribute(true)]
public sealed class BestFitMappingAttribute : Attribute

El tipo BestFitMappingAttribute expone los siguientes miembros.

  NombreDescripción
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsBestFitMappingAttributeInicializa una nueva instancia de la clase BestFitMappingAttribute con el valor de la propiedad BestFitMapping.
Arriba

  NombreDescripción
Propiedad públicaCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsBestFitMappingObtiene el comportamiento de la asignación de ajuste perfecto a la hora de convertir caracteres Unicode en caracteres ANSI.
Propiedad públicaTypeIdCuando se implementa en una clase derivada, obtiene un identificador único para este Attribute. (Se hereda de Attribute).
Arriba

  NombreDescripción
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEqualsInfraestructura. Devuelve un valor que indica si esta instancia equivale al objeto especificado. (Se hereda de Attribute).
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGetHashCodeDevuelve el código hash de esta instancia. (Se hereda de Attribute).
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método públicoIsDefaultAttributeCuando se invalida en una clase derivada, indica si el valor de esta instancia es el valor predeterminado para la clase derivada. (Se hereda de Attribute).
Método públicoMatch Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual al objeto especificado. (Se hereda de Attribute).
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsToString Retorna una cadena que representa al objeto actual. (Se hereda de Object).
Arriba

  NombreDescripción
Campo públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsThrowOnUnmappableCharHabilita 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 "?".
Arriba

  NombreDescripción
Implementación explícita de interfacesMétodo privado_Attribute.GetIDsOfNamesAsigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío. (Se hereda de Attribute).
Implementación explícita de interfacesMétodo privado_Attribute.GetTypeInfoObtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz. (Se hereda de Attribute).
Implementación explícita de interfacesMétodo privado_Attribute.GetTypeInfoCount

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

(Se hereda de Attribute).
Implementación explícita de interfacesMétodo privado_Attribute.InvokeProporciona acceso a las propiedades y los métodos expuestos por un objeto. (Se hereda de Attribute).
Arriba

Este atributo se puede aplicar a ensamblados, interfaces, clases o estructuras.

De forma predeterminada, el Common Language Runtime convierte en caracteres ANSI cualquier carácter Unicode administrado pasado a un método no administrado que se ejecute en Windows 98 o Windows Me. La asignación de ajuste perfecto permite al calculador de referencias de interoperabilidad seleccionar el carácter coincidente más cercano cuando no existe ninguna coincidencia exacta. Por ejemplo, el contador de referencias convierte el carácter Unicode de copyright en "c" para los métodos no administrados que aceptan caracteres ANSI.

Nota de precauciónPrecaución

Algunos caracteres carecen de una representación de ajuste perfecto, por lo que se consideran caracteres no asignables. Normalmente, los caracteres no asignables se convierten en el carácter ANSI '?' ANSI '?'. Algunos caracteres Unicode se convierten en caracteres peligrosos, como el carácter de barra diagonal inversa ('\'), que puede cambiar una ruta de acceso accidentalmente.

BestFitMappingAttribute proporciona dos parámetros para controlar algunos aspectos de la asignación de ajuste perfecto. El primer parámetro se utiliza para activar y desactivar la asignación de ajuste perfecto. El valor predeterminado es true, que habilita la asignación de ajuste perfecto en los niveles de ensamblado, de interfaz y de clase. Un atributo que se aplica a una interfaz o clase reemplaza un atributo en el nivel de ensamblado. Del mismo modo, se puede habilitar o deshabilitar la asignación de ajuste perfecto para las llamadas de invocación de plataforma utilizando el campo DllImportAttribute.BestFitMapping. Un valor que se establece mediante el campo de invocación de plataforma reemplaza todos los niveles de BestFitMappingAttribute.

El segundo parámetro se puede utilizar para controlar que se produzcan excepciones en caracteres no asignables. El valor predeterminado del campo ThrowOnUnmappableChar es false, lo que impide que se inicien excepciones cada vez que el motor en tiempo de ejecución encuentra un carácter Unicode que debe convertirse en el carácter ANSI '?'. Aunque la asignación de ajuste perfecto sea true, los caracteres que no se pueden asignar generan excepciones si el campo ThrowOnUnmappableChar es true. Para reforzar la seguridad, se pueden alternar los parámetros, es decir, se puede cambiar el primer parámetro a false y el segundo a true. Esta combinación de valores de parámetros desactiva la asignación de ajuste perfecto, pero habilita el mecanismo de producción de excepciones como medida de seguridad.

Nota de precauciónPrecaución

No es posible cambiar los valores predeterminados proporcionados por BestFitMappingAttribute cuando se pasa una matriz administrada cuyos elementos son caracteres ANSI o punteros LPSTR a una matriz segura no administrada. La asignación de ajuste perfecto 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.

En el siguiente ejemplo se muestra la forma en que se deshabilita la asignación de ajuste perfecto y la forma en que se inicia una excepción cuando los caracteres Unicode se convierten en el carácter ANSI ANSI '?'. El establecimiento de los parámetros de BestFitMappingAttribute de esta forma constituye una medida adicional de seguridad.


[BestFitMapping(false, ThrowOnUnmappableChar = true)]
interface IMyInterface1
{
     //Insert code here.
}


.NET Framework

Compatible con: 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros públicos static (Shared en Visual Basic) de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft