BestFitMappingAttribute BestFitMappingAttribute BestFitMappingAttribute BestFitMappingAttribute Class

Definition

Steuert, ob Unicode-Zeichen in möglichst passende ANSI-Zeichen konvertiert werden.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
Vererbung
BestFitMappingAttributeBestFitMappingAttributeBestFitMappingAttributeBestFitMappingAttribute
Attribute

Beispiele

Das folgende Beispiel zeigt, wie Sie die optimale Zuordnung deaktiviert und eine Ausnahme ausgelöst, auf die Konvertierung von Unicode-Zeichen in der "?" ANSI-Zeichen.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. Festlegen von BestFitMappingAttribute Parameter auf diese Weise bietet eine zusätzliche Sicherheitsmaßnahme.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

Hinweise

Sie können dieses Attribut auf eine Assembly, Schnittstelle, Klasse oder Struktur anwenden.You can apply this attribute to an assembly, interface, class, or structure.

Standardmäßig konvertiert die common Language Runtime in ANSI-Zeichen, die alle Unicode-Zeichen verwalteten, die an eine nicht verwaltete Methode ausführen unter Windows 98 oder Windows Me enthalten.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. Zuordnung mit ähnlichen Zeichen ermöglicht den interop-Marshaller eine-Zeichen auf, wenn keine genaue Übereinstimmung vorhanden ist.Best-fit mapping enables the interop marshaler to select a close-matching character when no exact match exists. Der Marshaller konvertiert z. B. copyright Unicode-Zeichen "c" für nicht verwaltete Methoden, die ANSI-Zeichen akzeptieren.For example, the marshaler converts the Unicode copyright character to 'c' for unmanaged methods that accept ANSI characters.

Achtung

Einige Zeichen ist keine optimale Darstellung; Diese Zeichen werden nicht zuzuordnenden bezeichnet.Some characters lack a best-fit representation; these characters are called unmappable. Nicht zuzuordnenden Zeichen werden normalerweise in der Standard '?' ANSI-Zeichen.Unmappable characters are usually converted to the default '?' ANSI character. Bestimmte Unicode-Zeichen werden in gefährlicher Zeichen, z. B. der umgekehrte Schrägstrich konvertiert "\'-Zeichen, die versehentlich einen Pfad ändern können.Certain Unicode characters are converted to dangerous characters, such as the backslash '\' character, which can inadvertently change a path.

BestFitMappingAttribute enthält die beiden Parameter, um Aspekte der Zuordnung mit ähnlichen Zeichen zu steuern.BestFitMappingAttribute provides two parameters to control aspects of best-fit mapping. Sie verwenden den ersten Parameter zum Umschalten der Zuordnung mit ähnlichen ein- und ausschalten.You use the first parameter to toggle best-fit mapping on and off. Der Standardwert ist true, die Zuordnung mit ähnlichen Zeichen für die Assembly, die Schnittstelle und die Klassenstufen ermöglicht.The default value is true, which enables best-fit mapping on the assembly, interface, and class levels. Ein Attribut auf eine Schnittstelle oder Klasse überschreibt ein Attribut auf Assemblyebene.An attribute applied to an interface or class overrides an assembly-level attribute. Sie können ebenso aktivieren oder deaktivieren Sie die optimale Zuordnung für Plattformaufrufe mithilfe der DllImportAttribute.BestFitMapping Feld.You can likewise enable or disable best-fit mapping for platform invoke calls by using the DllImportAttribute.BestFitMapping field. Ein Wert festgelegt, die von der Plattform aufrufen Feld überschreibt alle Ebenen der BestFitMappingAttribute.A value set by the platform invoke field overrides all levels of BestFitMappingAttribute.

Sie können den zweiten Parameter, um zu steuern, die eine Ausnahme auszulösen, ob bei Zeichen verwenden.You can use the second parameter to control throwing an exception on unmappable characters. Der Standardwert für die ThrowOnUnmappableChar Feld false, welche deaktiviert das Auslösen einer Ausnahme die Laufzeit Zeit ein Unicode-Zeichen, die zu konvertierenden trifft die "?" ANSI-Zeichen.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. Auch wenn die Zuordnung mit ähnlichen Zeichen ist true, nicht zuzuordnenden Zeichen eine Ausnahme generiert. wenn der ThrowOnUnmappableChar Feld true.Even if best-fit mapping is true, unmappable characters generate an exception when the ThrowOnUnmappableChar field is true. Zur Erhöhung der Sicherheit können Sie den ersten Parameter um umschalten false und der zweite Parameter für true.To tighten security, you can toggle the first parameter to false and the second parameter to true. Diese Kombination von parametereinstellungen aktiviert die Zuordnung mit ähnlichen Zeichen deaktiviert, aber den Mechanismus Auslösen von Ausnahmen als Sicherheitsmaßnahme ermöglicht.This combination of parameter settings turns best-fit mapping off, but enables the exception-throwing mechanism as a safety precaution.

Achtung

Sie können die Standardwerte, die durch nicht ändern BestFitMappingAttribute beim Übergeben eines verwalteten Arrays, dessen Elemente sind im ANSI-Zeichen oder LPSTRs sind, ein nicht verwaltetes sichere Array.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. Zuordnung mit ähnlichen Zeichen ist immer aktiviert, und keine Ausnahme ausgelöst werden kann.Best-fit mapping is always enabled and no exception can be thrown. Denken Sie daran, dass diese Kombination Ihrer Sicherheitsmodell gefährden kann.Be aware that this combination can compromise your security model.

Konstruktoren

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

Initialisiert eine neue Instanz der BestFitMappingAttribute-Klasse, die auf den Wert der BestFitMapping-Eigenschaft festgelegt ist.Initializes a new instance of the BestFitMappingAttribute class set to the value of the BestFitMapping property.

Felder

ThrowOnUnmappableChar ThrowOnUnmappableChar ThrowOnUnmappableChar ThrowOnUnmappableChar

Aktiviert bzw. deaktiviert das Auslösen einer Ausnahme bei einem nicht zuzuordnenden Unicode-Zeichen, das in das ANSI-Zeichen "?" konvertiert wird.Enables or disables the throwing of an exception on an unmappable Unicode character that is converted to an ANSI '?' character.

Eigenschaften

BestFitMapping BestFitMapping BestFitMapping BestFitMapping

Ruft das Verhalten der optimalen Zuordnung bei der Konvertierung von Unicode-Zeichen in ANSI-Zeichen ab.Gets the best-fit mapping behavior when converting Unicode characters to ANSI characters.

TypeId TypeId TypeId TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Methoden

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

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.Returns a value that indicates whether this instance is equal to a specified object.

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

Gibt den Hashcode für diese Instanz zurück.Returns the hash code for this instance.

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

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

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

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.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)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht.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()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

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

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Explizite Schnittstellenimplementierungen

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

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.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)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.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)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 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)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Gilt für:

Siehe auch