BestFitMappingAttribute BestFitMappingAttribute BestFitMappingAttribute BestFitMappingAttribute Class

Definizione

Controlla se i caratteri Unicode vengono convertiti nei caratteri ANSI corrispondenti più vicini.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
Ereditarietà
BestFitMappingAttributeBestFitMappingAttributeBestFitMappingAttributeBestFitMappingAttribute
Attributi

Esempi

Nell'esempio seguente viene illustrato come disabilitare il mapping più appropriato e per generare un'eccezione durante la conversione di caratteri Unicode per il '?' Carattere ANSI.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. Impostazione BestFitMappingAttribute parametri in questo modo fornisce un'ulteriore misura di sicurezza.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

Commenti

È possibile applicare questo attributo a un assembly, interfaccia, classe o struttura.You can apply this attribute to an assembly, interface, class, or structure.

Per impostazione predefinita, common language runtime consente di convertire in caratteri ANSI che tutti i caratteri Unicode passati a un metodo non gestito in esecuzione in Windows 98 o Windows Me. gestitiBy 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. Mapping più appropriato consente il marshalling di interoperabilità selezionare un carattere di chiusura corrispondente quando è presente alcuna corrispondenza esatta.Best-fit mapping enables the interop marshaler to select a close-matching character when no exact match exists. Ad esempio, il gestore di marshalling converte il carattere di copyright Unicode in 'c' per i metodi non gestiti che accettano caratteri ANSI.For example, the marshaler converts the Unicode copyright character to 'c' for unmanaged methods that accept ANSI characters.

Attenzione

Alcuni caratteri non dispongono di una rappresentazione in forma con mapping più appropriato; Questi caratteri sono denominati possibile eseguire il mapping.Some characters lack a best-fit representation; these characters are called unmappable. I caratteri vengono convertiti in genere sul valore predefinito '?' Carattere ANSI.Unmappable characters are usually converted to the default '?' ANSI character. Alcuni caratteri Unicode vengono convertiti in caratteri dannosi, ad esempio la barra rovesciata '\' carattere, che può modificare inavvertitamente un percorso.Certain Unicode characters are converted to dangerous characters, such as the backslash '\' character, which can inadvertently change a path.

BestFitMappingAttribute fornisce due parametri per controllare gli aspetti di mapping più appropriato.BestFitMappingAttribute provides two parameters to control aspects of best-fit mapping. Si usa il primo parametro per attivare/disattivare mapping più appropriato e disattivare.You use the first parameter to toggle best-fit mapping on and off. Il valore predefinito è true, che consente il mapping su assembly, interfaccia e i livelli di classe.The default value is true, which enables best-fit mapping on the assembly, interface, and class levels. Un attributo applicato a un'interfaccia o classe esegue l'override di un attributo a livello di assembly.An attribute applied to an interface or class overrides an assembly-level attribute. Allo stesso modo è possibile abilitare o disabilitare mapping più appropriato per le chiamate di platform invoke utilizzando il DllImportAttribute.BestFitMapping campo.You can likewise enable or disable best-fit mapping for platform invoke calls by using the DllImportAttribute.BestFitMapping field. Il valore impostato per la piattaforma di richiamare le sostituzioni di campo tutti i livelli di BestFitMappingAttribute.A value set by the platform invoke field overrides all levels of BestFitMappingAttribute.

È possibile usare il secondo parametro per generare un'eccezione sui caratteri di controllo.You can use the second parameter to control throwing an exception on unmappable characters. Il valore predefinito per il ThrowOnUnmappableChar campo è false, che disabilita la creazione di un'eccezione ogni volta che il runtime rileva un carattere Unicode che deve essere convertito nel '?' Carattere ANSI.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. Anche se è mapping più appropriato true, i caratteri di generano un'eccezione quando il ThrowOnUnmappableChar campo è true.Even if best-fit mapping is true, unmappable characters generate an exception when the ThrowOnUnmappableChar field is true. Per implementare una maggiore sicurezza, è possibile attivare o disattivare il primo parametro per false e il secondo parametro true.To tighten security, you can toggle the first parameter to false and the second parameter to true. Questa combinazione di impostazioni dei parametri Attiva fallback con mapping esterno, ma consente il meccanismo di generazione di eccezioni come misura di sicurezza.This combination of parameter settings turns best-fit mapping off, but enables the exception-throwing mechanism as a safety precaution.

Attenzione

Non è possibile modificare i valori predefiniti forniti da BestFitMappingAttribute quando si passa una matrice gestita cui elementi è caratteri ANSI o LPSTR a una matrice sicura non gestita.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. Mapping più appropriato è sempre abilitata e può essere generata alcuna eccezione.Best-fit mapping is always enabled and no exception can be thrown. Tenere presente che questa combinazione potrebbe compromettere il modello di sicurezza.Be aware that this combination can compromise your security model.

Costruttori

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

Inizializza una nuova istanza della classe BestFitMappingAttribute impostata sul valore della proprietà BestFitMapping.Initializes a new instance of the BestFitMappingAttribute class set to the value of the BestFitMapping property.

Campi

ThrowOnUnmappableChar ThrowOnUnmappableChar ThrowOnUnmappableChar ThrowOnUnmappableChar

Abilita o disabilita la generazione di un'eccezione su un carattere Unicode di cui non è possibile eseguire il mapping convertito in un carattere ANSI "?".Enables or disables the throwing of an exception on an unmappable Unicode character that is converted to an ANSI '?' character.

Proprietà

BestFitMapping BestFitMapping BestFitMapping BestFitMapping

Ottiene il comportamento di mapping più appropriato quando si convertono i caratteri Unicode in caratteri ANSI.Gets the best-fit mapping behavior when converting Unicode characters to ANSI characters.

TypeId TypeId TypeId TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Metodi

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

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.Returns a value that indicates whether this instance is equal to a specified object.

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

Restituisce il codice hash per l'istanza.Returns the hash code for this instance.

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

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

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

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.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)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.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 superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

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

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Implementazioni dell'interfaccia esplicita

_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)

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.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)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.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 il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 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)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Si applica a

Vedi anche