BestFitMappingAttribute BestFitMappingAttribute BestFitMappingAttribute BestFitMappingAttribute Class

Definición

Controla si los caracteres Unicode se convierten en los caracteres ANSI coincidentes más cercanos.Controls whether Unicode characters are converted to the closest matching ANSI characters.

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

Ejemplos

El ejemplo siguiente muestra cómo deshabilitar la asignación de ajuste perfecto y para producir una excepción en la conversión de caracteres Unicode en el '?' ANSI character.The following example shows how to disable best fit mapping and to throw an exception on the conversion of Unicode characters to the '?' ANSI character. Establecer BestFitMappingAttribute parámetros de esta manera proporciona una medida adicional de seguridad.Setting BestFitMappingAttribute parameters in this manner provides an added measure of security.

[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.You can apply this attribute to an assembly, interface, class, or structure.

De forma predeterminada, common language runtime se convierte en caracteres ANSI que cualquier administrado caracteres Unicode que pasa a un método no administrado que se ejecute en Windows 98 o Windows Millennium Edition.By default, the common language runtime converts to ANSI characters any managed Unicode characters passed to an unmanaged method executing on Windows 98 or Windows Me. Asignación con ajuste perfecto permite que el serializador de interoperabilidad seleccionar un carácter de cierre coincidentes cuando no existe ninguna coincidencia exacta.Best-fit mapping enables the interop marshaler to select a close-matching character when no exact match exists. Por ejemplo, el contador de referencias convierte el carácter Unicode de copyright para 'c' para métodos no administrados que aceptan caracteres ANSI.For example, the marshaler converts the Unicode copyright character to 'c' for unmanaged methods that accept ANSI characters.

Precaución

Algunos caracteres no tienen una representación con ajuste perfecto; estos caracteres se denominan no se puede asignar.Some characters lack a best-fit representation; these characters are called unmappable. No se puede asignar caracteres normalmente se convierten en el valor predeterminado '?' ANSI character.Unmappable characters are usually converted to the default '?' ANSI character. Algunos caracteres Unicode se convierten en caracteres peligrosos, como la barra diagonal inversa '\' carácter, que puede cambiar inadvertidamente una ruta de acceso.Certain Unicode characters are converted to dangerous characters, such as the backslash '\' character, which can inadvertently change a path.

BestFitMappingAttribute proporciona dos parámetros para controlar aspectos de la asignación con ajuste perfecto.BestFitMappingAttribute provides two parameters to control aspects of best-fit mapping. Utilice el primer parámetro para activar y desactivar la asignación con ajuste perfecto.You use the first parameter to toggle best-fit mapping on and off. El valor predeterminado es true, lo que permite la asignación con ajuste perfecto en el ensamblado, interfaz y niveles de clase.The default value is true, which enables best-fit mapping on the assembly, interface, and class levels. Un atributo aplicado a una interfaz o clase reemplaza un atributo de nivel de ensamblado.An attribute applied to an interface or class overrides an assembly-level attribute. Del mismo modo, puede habilitar o deshabilitar una asignación con ajuste perfecto para las llamadas de invocación de plataforma mediante el uso de la DllImportAttribute.BestFitMapping campo.You can likewise enable or disable best-fit mapping for platform invoke calls by using the DllImportAttribute.BestFitMapping field. Un valor establecido por la plataforma de invocación invalidaciones de campo de todos los niveles de BestFitMappingAttribute.A value set by the platform invoke field overrides all levels of BestFitMappingAttribute.

Puede usar el segundo parámetro para producir una excepción no se puede asignar caracteres de control.You can use the second parameter to control throwing an exception on unmappable characters. El valor predeterminado para el ThrowOnUnmappableChar campo es false, lo que deshabilita producir una excepción de tiempo en el tiempo de ejecución encuentra un carácter Unicode que se va a convertir en el '?' ANSI character.The default value for the ThrowOnUnmappableChar field is false, which disables throwing an exception each time the runtime encounters a Unicode character that has to be converted to the '?' ANSI character. Incluso si la asignación con ajuste perfecto es true, no se puede asignar caracteres generan una excepción cuando el ThrowOnUnmappableChar campo es true.Even if best-fit mapping is true, unmappable characters generate an exception when the ThrowOnUnmappableChar field is true. Para reforzar la seguridad, puede activar o desactivar el primer parámetro false y el segundo parámetro true.To tighten security, you can toggle the first parameter to false and the second parameter to true. Esta combinación de valores de parámetros desactiva la asignación con ajuste perfecto, pero permite que el mecanismo de excepciones como medida de seguridad.This combination of parameter settings turns best-fit mapping off, but enables the exception-throwing mechanism as a safety precaution.

Precaución

No se puede cambiar los valores predeterminados proporcionados por BestFitMappingAttribute cuando pasa una matriz administrada cuyos elementos son caracteres ANSI o punteros LPSTR a una matriz segura no administrada.You cannot change the default values provided by BestFitMappingAttribute when passing a managed array whose elements are ANSI Chars or LPSTRs to an unmanaged safe array. Asignación con ajuste perfecto siempre está habilitada y no se puede producir ninguna excepción.Best-fit mapping is always enabled and no exception can be thrown. Tenga en cuenta que esta combinación puede poner en peligro su modelo de seguridad.Be aware that this combination can compromise your security model.

Constructores

BestFitMappingAttribute(Boolean) BestFitMappingAttribute(Boolean) BestFitMappingAttribute(Boolean) BestFitMappingAttribute(Boolean)

Inicializa una nueva instancia de la clase BestFitMappingAttribute con el valor de la propiedad BestFitMapping.Initializes a new instance of the BestFitMappingAttribute class set to the value of the BestFitMapping property.

Campos

ThrowOnUnmappableChar ThrowOnUnmappableChar ThrowOnUnmappableChar 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 "?".Enables or disables the throwing of an exception on an unmappable Unicode character that is converted to an ANSI '?' character.

Propiedades

BestFitMapping BestFitMapping BestFitMapping BestFitMapping

Obtiene el comportamiento de la asignación de ajuste perfecto a la hora de convertir caracteres Unicode en caracteres ANSI.Gets the best-fit mapping behavior when converting Unicode characters to ANSI characters.

TypeId TypeId TypeId TypeId

Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Métodos

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Devuelve un valor que indica si esta instancia es igual que un objeto especificado.Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Devuelve el código hash de esta instancia.Returns the hash code for this instance.

(Inherited from Attribute)
GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

Si se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado de la clase derivada.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object) Match(Object) Match(Object) Match(Object)

Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Implementaciones de interfaz explícitas

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

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _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.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acceso a las propiedades y los métodos expuestos por un objeto.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Se aplica a

Consulte también: