Udostępnij za pośrednictwem


BestFitMappingAttribute Klasa

Definicja

Określa, czy znaki Unicode są konwertowane na najbliższe pasujące znaki 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
Dziedziczenie
BestFitMappingAttribute
Atrybuty

Przykłady

W poniższym przykładzie pokazano, jak wyłączyć mapowanie najlepszego dopasowania i zgłosić wyjątek podczas konwersji znaków Unicode na "?". Znak ANSI. Ustawienie BestFitMappingAttribute parametrów w ten sposób zapewnia dodatkową miarę zabezpieczeń.

[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

Uwagi

Ten atrybut można zastosować do zestawu, interfejsu, klasy lub struktury.

Przestroga

Niektóre znaki nie mają najlepszej reprezentacji; te znaki są nazywane nieprzyzwoicie. Niezastosowane znaki są zwykle konwertowane na wartość domyślną "?". Znak ANSI. Niektóre znaki Unicode są konwertowane na niebezpieczne znaki, takie jak ukośnik odwrotny "\", który może przypadkowo zmienić ścieżkę.

BestFitMappingAttribute udostępnia dwa parametry do kontrolowania aspektów mapowania najlepszego dopasowania. Pierwszy parametr służy do przełączania mapowania najlepszego dopasowania do włączonego i wyłączonego. Wartość domyślna to true, która umożliwia najlepsze mapowanie na poziomach zestawów, interfejsów i klas. Atrybut zastosowany do interfejsu lub klasy zastępuje atrybut na poziomie zestawu. Możesz również włączyć lub wyłączyć mapowanie najlepiej dopasowane dla wywołań wywołań platformy przy użyciu DllImportAttribute.BestFitMapping pola. Wartość ustawiona przez pole wywołania platformy zastępuje wszystkie poziomy elementu BestFitMappingAttribute.

Możesz użyć drugiego parametru, aby kontrolować zgłaszanie wyjątku dla niezastosowanych znaków. Wartość domyślna pola ThrowOnUnmappableChar to false, która wyłącza zgłaszanie wyjątku za każdym razem, gdy środowisko uruchomieniowe napotka znak Unicode, który musi zostać przekonwertowany na znak "?". Znak ANSI. Nawet jeśli mapowanie najlepiej dopasowane to true, niezastosowane znaki generują wyjątek, gdy ThrowOnUnmappableChar pole ma wartość true. Aby zaostrzyć zabezpieczenia, możesz przełączyć pierwszy parametr na false i drugi parametr na true. Ta kombinacja ustawień parametrów zmienia najlepsze dopasowanie mapowania, ale umożliwia mechanizm zgłaszania wyjątków jako środek ostrożności.

Przestroga

Nie można zmienić wartości domyślnych udostępnianych przez BestFitMappingAttribute przekazanie tablicy zarządzanej, której elementy to ANSI Chars lub LPSTRs do niezarządzanej bezpiecznej tablicy. Mapowanie najlepszego dopasowania jest zawsze włączone i nie można zgłosić żadnego wyjątku. Należy pamiętać, że ta kombinacja może naruszyć bezpieczeństwo modelu zabezpieczeń.

Konstruktory

BestFitMappingAttribute(Boolean)

Inicjuje BestFitMappingAttribute nowe wystąpienie klasy ustawione na wartość BestFitMapping właściwości.

Pola

ThrowOnUnmappableChar

Włącza lub wyłącza zgłaszanie wyjątku dla niezastosowanego znaku Unicode konwertowanego na znak ANSI "?".

Właściwości

BestFitMapping

Pobiera najlepsze zachowanie mapowania podczas konwertowania znaków Unicode na znaki ANSI.

TypeId

Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego elementu Attribute.

(Odziedziczone po Attribute)

Metody

Equals(Object)

Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi.

(Odziedziczone po Attribute)
GetHashCode()

Zwraca wartość skrótu dla tego wystąpienia.

(Odziedziczone po Attribute)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
IsDefaultAttribute()

W przypadku zastąpienia w klasie pochodnej wskazuje, czy wartość tego wystąpienia jest wartością domyślną klasy pochodnej.

(Odziedziczone po Attribute)
Match(Object)

W przypadku zastąpienia w klasie pochodnej zwraca wartość wskazującą, czy to wystąpienie jest równe określonemu obiektowi.

(Odziedziczone po Attribute)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

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

Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania.

(Odziedziczone po Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Pobiera informacje o typie obiektu, którego można użyć do pobrania informacji o typie interfejsu.

(Odziedziczone po Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1).

(Odziedziczone po Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt.

(Odziedziczone po Attribute)

Dotyczy

Zobacz też