BestFitMappingAttribute Classe

Définition

Détermine si les caractères Unicode sont convertis en caractères ANSI équivalents les plus proches.

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
Héritage
BestFitMappingAttribute
Attributs

Exemples

L’exemple suivant montre comment désactiver le mappage le mieux adapté et lever une exception lors de la conversion de caractères Unicode en « ? » Caractère ANSI. La définition de BestFitMappingAttribute paramètres de cette manière fournit une mesure de sécurité supplémentaire.

[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

Remarques

Vous pouvez appliquer cet attribut à un assembly, une interface, une classe ou une structure.

Attention

Certains personnages ne disposent pas d’une représentation la mieux adaptée ; ces caractères sont appelés inappables. Les caractères non utilisables sont généralement convertis en « ? » par défaut. Caractère ANSI. Certains caractères Unicode sont convertis en caractères dangereux, comme la barre oblique inverse « \ », qui peut modifier par inadvertance un chemin d’accès.

BestFitMappingAttribute fournit deux paramètres pour contrôler les aspects du mappage le mieux adapté. Vous utilisez le premier paramètre pour activer et désactiver le mappage le mieux adapté. La valeur par défaut est true, ce qui permet le mappage le mieux adapté aux niveaux de l’assembly, de l’interface et de la classe. Un attribut appliqué à une interface ou à une classe remplace un attribut de niveau assembly. Vous pouvez également activer ou désactiver le mappage le mieux adapté pour les appels d’appel de plateforme à l’aide du DllImportAttribute.BestFitMapping champ . Une valeur définie par le champ d’appel de plateforme remplace tous les niveaux de BestFitMappingAttribute.

Vous pouvez utiliser le deuxième paramètre pour contrôler la levée d’une exception sur les caractères non appappables. La valeur par défaut du ThrowOnUnmappableChar champ est false, ce qui désactive la levée d’une exception chaque fois que le runtime rencontre un caractère Unicode qui doit être converti en « ? » Caractère ANSI. Même si le mappage le mieux adapté est true, les caractères non utilisables génèrent une exception lorsque le ThrowOnUnmappableChar champ est true. Pour renforcer la sécurité, vous pouvez basculer le premier paramètre sur false et le deuxième paramètre sur true. Cette combinaison de paramètres désactive le mappage le mieux adapté, mais active le mécanisme de levée d’exceptions par mesure de sécurité.

Attention

Vous ne pouvez pas modifier les valeurs par défaut fournies par BestFitMappingAttribute lors du passage d’un tableau managé dont les éléments sont des chars ANSI ou des LPSTRs à un tableau sécurisé non managé. Le mappage le mieux adapté est toujours activé et aucune exception ne peut être levée. N’oubliez pas que cette combinaison peut compromettre votre modèle de sécurité.

Constructeurs

BestFitMappingAttribute(Boolean)

Initialise une nouvelle instance de la classe BestFitMappingAttribute à laquelle est attribuée la valeur de la propriété BestFitMapping.

Champs

ThrowOnUnmappableChar

Active ou désactive la levée d'une exception sur un caractère Unicode non mappable converti en caractère ANSI '?'.

Propriétés

BestFitMapping

Obtient le comportement de mappage ajusté lors de la conversion de caractères Unicode en caractères ANSI.

TypeId

Lors de l'implémentation dans une classe dérivée, obtient un identificateur unique pour l'objet Attribute.

(Hérité de Attribute)

Méthodes

Equals(Object)

Retourne une valeur qui indique si cette instance est égale à un objet spécifié.

(Hérité de Attribute)
GetHashCode()

Retourne le code de hachage de cette instance.

(Hérité de Attribute)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
IsDefaultAttribute()

En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée.

(Hérité de Attribute)
Match(Object)

En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié.

(Hérité de Attribute)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

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

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.

(Hérité de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Récupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface.

(Hérité de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).

(Hérité de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fournit l'accès aux propriétés et aux méthodes exposées par un objet.

(Hérité de Attribute)

S’applique à

Voir aussi