BestFitMappingAttribute Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- 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) |