BestFitMappingAttribute Třída

Definice

Určuje, zda jsou znaky Unicode převedeny na nejbližší odpovídající znaky ANSI.

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
Dědičnost
BestFitMappingAttribute
Atributy

Příklady

Následující příklad ukazuje, jak zakázat mapování nejlepšího přizpůsobení a vyvolat výjimku při převodu znaků Unicode na '?' Znak ANSI. Nastavení BestFitMappingAttribute parametrů tímto způsobem poskytuje přidanou míru zabezpečení.

[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

Poznámky

Tento atribut můžete použít na sestavení, rozhraní, třídu nebo strukturu.

Caution

Některé znaky nemají nejlepší reprezentaci; tyto znaky se nazývají nemapovatelné. Nemapovatelné znaky se obvykle převedou na výchozí znak ?. Znak ANSI. Některé znaky Unicode se převedou na nebezpečné znaky, například zpětné lomítko \, což může neúmyslně změnit cestu.

BestFitMappingAttribute poskytuje dva parametry pro kontrolu aspektů mapování, které nejlépe vyhovuje. První parametr použijete k zapnutí a vypnutí mapování, které nejlépe vyhovuje. Výchozí hodnota je true, která umožňuje mapování co nejlépe přizpůsobit na úrovni sestavení, rozhraní a třídy. Atribut použitý u rozhraní nebo třídy přepíše atribut na úrovni sestavení. Můžete také povolit nebo zakázat mapování nejvhodnější pro volání platformy volání pomocí DllImportAttribute.BestFitMapping pole. Hodnota nastavená platformou vyvolá pole přepíše všechny úrovně BestFitMappingAttribute.

Druhý parametr můžete použít k řízení vyvolání výjimky u nemapovatelných znaků. Výchozí hodnota pole ThrowOnUnmappableChar je false, která zakáže vyvolání výjimky pokaždé, když modul runtime narazí na znak Unicode, který se musí převést na "?". Znak ANSI. I když je truemapování nejvhodnější , nemapovatelné znaky generují výjimku, pokud ThrowOnUnmappableChar je truepole . Chcete-li utáhnout zabezpečení, můžete přepnout první parametr na false a druhý parametr na true. Tato kombinace nastavení parametrů vypne mapování nejvhodnějšího stavu, ale jako bezpečnostní opatření povolí mechanismus vyvolání výjimek.

Caution

Výchozí hodnoty zadané BestFitMappingAttribute při předávání spravovaného pole, jehož prvky jsou znaky ANSI nebo LPSTRs, nelze změnit do nespravovaného bezpečného pole. Mapování nejvhodnějších možností je vždy povolené a nelze vyvolat žádnou výjimku. Mějte na paměti, že tato kombinace může ohrozit váš model zabezpečení.

Konstruktory

Name Description
BestFitMappingAttribute(Boolean)

Inicializuje novou instanci BestFitMappingAttribute třídy nastavenou na hodnotu BestFitMapping vlastnosti.

Pole

Name Description
ThrowOnUnmappableChar

Povolí nebo zakáže vyvolání výjimky u nemapovatelného znaku Unicode, který je převeden na znak ANSI ?.

Vlastnosti

Name Description
BestFitMapping

Získá nejlepší mapování chování při převodu znaků Unicode na znaky ANSI.

TypeId

Při implementaci v odvozené třídě získá jedinečný identifikátor pro tento Attribute.

(Zděděno od Attribute)

Metody

Name Description
Equals(Object)

Vrátí hodnotu, která určuje, zda je tato instance rovna zadanému objektu.

(Zděděno od Attribute)
GetHashCode()

Vrátí kód hash pro tuto instanci.

(Zděděno od Attribute)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
IsDefaultAttribute()

Při přepsání v odvozené třídě určuje, zda hodnota této instance je výchozí hodnotou pro odvozenou třídu.

(Zděděno od Attribute)
Match(Object)

Při přepsání v odvozené třídě vrátí hodnotu, která určuje, zda se tato instance rovná zadanému objektu.

(Zděděno od Attribute)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

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

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.

(Zděděno od Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, který lze použít k získání informací o typu pro rozhraní.

(Zděděno od Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).

(Zděděno od Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.

(Zděděno od Attribute)

Platí pro

Viz také