BestFitMappingAttribute Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Contrôle si les caractères Unicode sont convertis en caractères ANSI correspondants 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
- Attributs
Exemples
L’exemple suivant montre comment désactiver le meilleur mappage d’ajustement et lever une exception sur la conversion de caractères Unicode en « ? » Caractère ANSI. La définition des BestFitMappingAttribute paramètres de cette manière fournit une mesure supplémentaire de la sécurité.
[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.
Avertissement
Certains caractères ne disposent pas d’une représentation la mieux adaptée ; ces caractères sont appelés inappables. Les caractères non valides sont généralement convertis en « ? » par défaut. Caractère ANSI. Certains caractères Unicode sont convertis en caractères dangereux, tels que 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, qui permet le mappage le mieux adapté sur l’assembly, l’interface et les niveaux de classe. Un attribut appliqué à une interface ou à une classe remplace un attribut au niveau de l’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 des caractères inappables. La valeur par défaut du ThrowOnUnmappableChar champ est false, 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 modifiables génèrent une exception lorsque le ThrowOnUnmappableChar champ est true. Pour renforcer la sécurité, vous pouvez basculer le premier paramètre vers 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’exception comme précaution de sécurité.
Avertissement
Vous ne pouvez pas modifier les valeurs par défaut fournies lors du BestFitMappingAttribute 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
| Nom | Description |
|---|---|
| BestFitMappingAttribute(Boolean) |
Initialise une nouvelle instance de la BestFitMappingAttribute classe définie sur la valeur de la BestFitMapping propriété. |
Champs
| Nom | Description |
|---|---|
| ThrowOnUnmappableChar |
Active ou désactive le levée d’une exception sur un caractère Unicode non modifiable converti en caractère ANSI ' ?'. |
Propriétés
| Nom | Description |
|---|---|
| BestFitMapping |
Obtient le comportement de mappage le mieux adapté lors de la conversion de caractères Unicode en caractères ANSI. |
| TypeId |
En cas d’implémentation dans une classe dérivée, obtient un identificateur unique pour cette Attribute. (Hérité de Attribute) |
Méthodes
| Nom | Description |
|---|---|
| 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 pour cette instance. (Hérité de Attribute) |
| GetType() |
Obtient la 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 de la classe dérivée. (Hérité de Attribute) |
| Match(Object) |
En cas de substitution dans une classe dérivée, retourne une valeur qui indique si cette instance est égale à un objet spécifié. (Hérité de Attribute) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| _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 d’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 méthodes exposées par un objet. (Hérité de Attribute) |