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 mit der besten Anpassung deaktivieren und eine Ausnahme bei der Konvertierung von Unicode-Zeichen in das "?" 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

Einige Zeichen verfügen nicht über eine optimale Darstellung. diese Zeichen werden als nicht verwendbar bezeichnet. Nicht verwendbare Zeichen werden in der Regel in die Standardeinstellung '?' konvertiert. ANSI-Zeichen. Bestimmte Unicode-Zeichen werden in gefährliche Zeichen konvertiert, z. B. das umgekehrte Schrägstrichzeichen "\", das einen Pfad versehentlich ändern kann.

BestFitMappingAttribute stellt zwei Parameter zum Steuern von Aspekten der am besten geeigneten Zuordnung bereit. Verwenden Sie den ersten Parameter, um die zuordnung am besten geeignete Zuordnung ein- und auszuschalten. Der Standardwert ist , wodurch die Zuordnung auf Assembly-, Schnittstellen- und Klassenebenen am besten geeignet ist true. Ein Attribut, das auf eine Schnittstelle oder Klasse angewendet wird, überschreibt ein Attribut auf Assemblyebene. 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 . Dadurch wird falsedas Auslösen einer Ausnahme jedes Mal deaktiviert, wenn die Laufzeit auf ein Unicode-Zeichen trifft, das in das '?' konvertiert werden muss. ANSI-Zeichen. Auch wenn die zuordnung am besten geeignet ist true, generieren nicht verwendbare Zeichen eine Ausnahme, wenn das ThrowOnUnmappableChar Feld ist true. Um die Sicherheit zu erhöhen, können Sie den ersten Parameter in false und den zweiten Parameter auf trueumschalten. Diese Kombination von Parametereinstellungen deaktiviert die am besten geeignete Zuordnung, ermöglicht jedoch den Ausnahmeauslösermechanismus 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, an 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