BestFitMappingAttribute Klasse

Definition

Steuert, ob Unicode-Zeichen in möglichst passende ANSI-Zeichen konvertiert werden.

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
Vererbung
BestFitMappingAttribute
Attribute

Beispiele

Das folgende Beispiel zeigt, wie Sie die Zuordnung der besten Anpassung deaktivieren und eine Ausnahme bei der Konvertierung von Unicode-Zeichen in die "?" auslösen. ANSI-Zeichen. Das Festlegen BestFitMappingAttribute von Parametern auf diese Weise bietet ein zusätzliches Maß an Sicherheit.

[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.

Achtung

Einigen Zeichen fehlt eine optimale Darstellung; diese Zeichen werden als nicht verwendbar bezeichnet. Nicht verwendbare Zeichen werden in der Regel in den Standard "?" konvertiert. ANSI-Zeichen. Bestimmte Unicode-Zeichen werden in gefährliche Zeichen konvertiert, z. B. der umgekehrte Schrägstrich "\", der versehentlich einen Pfad ändern kann.

BestFitMappingAttribute stellt zwei Parameter bereit, um Aspekte der am besten geeigneten Zuordnung zu steuern. Sie verwenden den ersten Parameter, um die am besten geeignete Zuordnung ein- und auszuschalten. Der Standardwert ist true, was die am besten geeignete Zuordnung auf Assembly-, Schnittstellen- und Klassenebenen ermöglicht. Ein Attribut, das auf eine Schnittstelle oder Klasse angewendet wird, setzt ein Attribut auf Assemblyebene außer Kraft. Sie können auch die am besten geeignete Zuordnung für Plattformaufrufe mithilfe des DllImportAttribute.BestFitMapping Felds aktivieren oder deaktivieren. Ein vom Plattformaufruffeld festgelegter Wert überschreibt alle Ebenen von BestFitMappingAttribute.

Sie können den zweiten Parameter verwenden, um das Auslösen einer Ausnahme für nicht verwendbare Zeichen zu steuern. Der Standardwert für das ThrowOnUnmappableChar Feld ist , wodurch das Auslösen einer Ausnahme jedes Mal deaktiviert wird false, wenn die Runtime auf ein Unicode-Zeichen stößt, das in "?" konvertiert werden muss. ANSI-Zeichen. Auch wenn die Zuordnung am besten geeignet ist, generieren truenicht verwendbare Zeichen eine Ausnahme, wenn das ThrowOnUnmappableChar Feld lautet true. Um die Sicherheit zu erhöhen, können Sie den ersten Parameter auf false und den zweiten Parameter auf trueumschalten. Diese Kombination von Parametereinstellungen deaktiviert die am besten geeignete Zuordnung, ermöglicht jedoch den Mechanismus zum Auslösen von Ausnahmen als Sicherheitsvorkehrung.

Achtung

Sie können die von bereitgestellten BestFitMappingAttribute Standardwerte nicht ändern, wenn sie ein verwaltetes Array übergeben, dessen Elemente ANSI-Chars oder LPSTRs sind, in ein nicht verwaltetes sicheres Array. Die am besten geeignete Zuordnung ist immer aktiviert, und es kann keine Ausnahme ausgelöst werden. Beachten Sie, dass diese Kombination Ihr Sicherheitsmodell gefährden kann.

Konstruktoren

BestFitMappingAttribute(Boolean)

Initialisiert eine neue Instanz der BestFitMappingAttribute-Klasse, die auf den Wert der BestFitMapping-Eigenschaft festgelegt ist.

Felder

ThrowOnUnmappableChar

Aktiviert bzw. deaktiviert das Auslösen einer Ausnahme bei einem nicht zuzuordnenden Unicode-Zeichen, das in das ANSI-Zeichen "?" konvertiert wird.

Eigenschaften

BestFitMapping

Ruft das Verhalten der optimalen Zuordnung bei der Konvertierung von Unicode-Zeichen in ANSI-Zeichen ab.

TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.

(Geerbt von Attribute)

Methoden

Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.

(Geerbt von Attribute)
GetHashCode()

Gibt den Hashcode für diese Instanz zurück.

(Geerbt von Attribute)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
IsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.

(Geerbt von Attribute)
Match(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht.

(Geerbt von Attribute)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

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

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.

(Geerbt von Attribute)
_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.

(Geerbt von Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).

(Geerbt von Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.

(Geerbt von Attribute)

Gilt für:

Weitere Informationen