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, 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
- 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 true
mapování nejvhodnější , nemapovatelné znaky vygenerují výjimku, ThrowOnUnmappableChar pokud je true
pole . Pokud chcete zabezpečení zpřísnit, můžete přepnout první parametr na false
a druhý na true
hodnotu . 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é
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro