Sdílet prostřednictvím


BestFitMappingAttribute Třída

Definice

Určuje, jestli se znaky Unicode převedou 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ších velikostí a vyvolat výjimku při převodu znaků Unicode na znak ?. Znak ANSI. Nastavení BestFitMappingAttribute parametrů tímto způsobem poskytuje další 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 pro sestavení, rozhraní, třídu nebo strukturu.

Upozornění

Některé znaky nemají nejvhodnější reprezentaci; tyto znaky se nazývají nenamapovatelné. Nemapovatelné znaky se obvykle převedou na výchozí znak ?. Znak ANSI. Některé znaky Unicode jsou převedeny na nebezpečné znaky, například zpětné lomítko "\", které mohou neúmyslně změnit cestu.

BestFitMappingAttribute poskytuje dva parametry pro řízení aspektů mapování nejlepších potřeb. Pomocí prvního parametru zapnete a vypnete mapování nejvhodnějších možností. Výchozí hodnota je true, což umožňuje nejvhodnější mapování na úrovni sestavení, rozhraní a třídy. Atribut použitý na rozhraní nebo třídu přepisuje atribut na úrovni sestavení. Podobně můžete povolit nebo zakázat mapování nejvhodnějších pro volání platformy pomocí DllImportAttribute.BestFitMapping pole . Hodnota nastavená polem vyvolání platformy 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 ThrowOnUnmappableChar pole 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 ?. Znak ANSI. I když je truemapování nejvhodnější , nemapovatelné znaky vygenerují výjimku, pokud ThrowOnUnmappableChar je truepole . Pokud chcete zabezpečení zpřísnit, můžete přepnout první parametr na false a druhý na true. Tato kombinace nastavení parametrů vypne mapování, které nejlépe vyhovuje, ale jako bezpečnostní opatření povolí mechanismus vyvolání výjimek.

Upozornění

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

Konstruktory

BestFitMappingAttribute(Boolean)

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

Pole

ThrowOnUnmappableChar

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

Vlastnosti

BestFitMapping

Získá nejlepší chování mapová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 tuto Attributetřídu .

(Zděděno od Attribute)

Metody

Equals(Object)

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

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

Vrátí hodnotu hash pro tuto instanci.

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

Type Získá z aktuální instance.

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

Při přepsání v odvozené třídě označuje, zda je hodnota této instance 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á označuje, zda se tato instance rovná zadanému objektu.

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

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

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

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

(Zděděno od Object)

Explicitní implementace rozhraní

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