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 nejlepší mapování 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í 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 znak zpětného lomítka \, který může neúmyslně změnit cestu.

BestFitMappingAttribute poskytuje dva parametry pro řízení aspektů mapování, které nejlépe vyhovuje. Pomocí prvního parametru můžete zapnout a vypnout mapování nejvhodnějších potřeb. Výchozí hodnota je true, která umožňuje mapování nejvhodnějších na úrovni sestavení, rozhraní a třídy. Atribut použitý na rozhraní nebo třídu přepíše atribut na úrovni sestavení. Pomocí pole můžete také povolit nebo zakázat mapování nejvhodnějších pro volání DllImportAttribute.BestFitMapping platformy. Hodnota nastavená polem volá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 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 ?. Znak ANSI. I když je truemapování nejvhodnější , nemapovatelné znaky vygenerují výjimku, ThrowOnUnmappableChar pokud je truepole . Pokud chcete zabezpečení zpřísnit, můžete přepnout první parametr na false a druhý na truehodnotu . Tato kombinace nastavení parametrů vypne mapování nejvhodnějších parametrů, 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, nelze změnit výchozí hodnoty zadané BestFitMappingAttribute pomocí nespravovaného bezpečného pole. Mapování nejlepších potřeb je vždy povolené a není možné vyvolat 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 nastavené 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()

Získá aktuální Type instanci.

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