TypeConverterAttribute Classe

Définition

Spécifie le type à utiliser comme convertisseur de l'objet auquel cet attribut est lié.

public ref class TypeConverterAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class TypeConverterAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.All)>]
type TypeConverterAttribute = class
    inherit Attribute
Public NotInheritable Class TypeConverterAttribute
Inherits Attribute
Héritage
TypeConverterAttribute
Attributs

Exemples

L’exemple suivant déclare MyClass pour utiliser le convertisseur de type appelé MyClassConverter . Cet exemple suppose que MyClassConverter a été implémenté ailleurs. La classe qui implémente le convertisseur ( MyClassConverter ) doit hériter de la TypeConverter classe.

[TypeConverter(Class1::MyClassConverter::typeid)]
ref class MyClass{
   // Insert code here.
};
[TypeConverter(typeof(MyClassConverter))]
 public class MyClass {
    // Insert code here.
 }
<TypeConverter(GetType(MyClassConverter))> _
Public Class ClassA
    ' Insert code here.
End Class

L’exemple suivant crée une instance de MyClass . Il obtient ensuite les attributs pour la classe et imprime le nom du convertisseur de type utilisé par MyClass .

int main()
{
   // Creates a new instance of MyClass.
   Class1::MyClass^ myNewClass = gcnew Class1::MyClass;

   // Gets the attributes for the instance.
   AttributeCollection^ attributes = TypeDescriptor::GetAttributes( myNewClass );

   /* Prints the name of the type converter by retrieving the 
        * TypeConverterAttribute from the AttributeCollection. */
   TypeConverterAttribute^ myAttribute = dynamic_cast<TypeConverterAttribute^>(attributes[ TypeConverterAttribute::typeid ]);
   Console::WriteLine( "The type converter for this class is: {0}", myAttribute->ConverterTypeName );
   return 0;
}
public static int Main() {
    // Creates a new instance of MyClass.
    MyClass myNewClass = new MyClass();
 
    // Gets the attributes for the instance.
    AttributeCollection attributes = TypeDescriptor.GetAttributes(myNewClass);
 
    /* Prints the name of the type converter by retrieving the 
     * TypeConverterAttribute from the AttributeCollection. */
    TypeConverterAttribute myAttribute = 
        (TypeConverterAttribute)attributes[typeof(TypeConverterAttribute)];
    
    Console.WriteLine("The type conveter for this class is: " + 
        myAttribute.ConverterTypeName);
 
    return 0;
 }
Public Shared Function Main() As Integer
    ' Creates a new instance of ClassA.
    Dim myNewClass As New ClassA()
    
    ' Gets the attributes for the instance.
    Dim attributes As AttributeCollection = TypeDescriptor.GetAttributes(myNewClass)
    
    ' Prints the name of the type converter by retrieving the
    ' TypeConverterAttribute from the AttributeCollection. 
    Dim myAttribute As TypeConverterAttribute = _
        CType(attributes(GetType(TypeConverterAttribute)), TypeConverterAttribute)
    
    Console.WriteLine(("The type conveter for this class is: " _
        + myAttribute.ConverterTypeName))
    Return 0
End Function 'Main

Remarques

La classe que vous utilisez pour la conversion doit hériter de TypeConverter . Utilisez la ConverterTypeName propriété pour obtenir le nom de la classe qui fournit la conversion de données pour l’objet auquel cet attribut est lié.

Pour plus d’informations sur les attributs, consultez Attributs. Pour plus d’informations sur les convertisseurs de type, consultez la TypeConverter classe de base et Comment : implémenter un convertisseur de type.

Pour établir un convertisseur de type sur une classe personnalisée qui fournit le comportement de conversion de type pour XAML, vous appliquez l' TypeConverterAttribute attribut à votre type. L’argument de l’attribut fait référence à votre implémentation de convertisseur de type. Votre convertisseur de type doit être en mesure d’accepter des valeurs d’une chaîne utilisée pour les attributs ou le texte d’initialisation dans le balisage XAML, puis de convertir cette chaîne dans le type de destination souhaité. Pour plus d’informations, consultez TypeConverters et XAML.

Plutôt que d’appliquer à toutes les valeurs d’un type, un comportement de convertisseur de type pour XAML peut également être établi sur une propriété spécifique. Dans ce cas, vous appliquez TypeConverterAttribute à la définition de propriété (la définition externe, pas les get définitions spécifiques et set ).

Un comportement de convertisseur de type pour l’utilisation XAML d’un membre pouvant être attaché personnalisé peut être assigné en appliquant TypeConverterAttribute à l' get accesseur de méthode qui prend en charge l’utilisation de XAML. Pour plus d’informations, consultez Vue d’ensemble des propriétés jointes.

Pour les cas de sérialisation XAML complexes qui requièrent un État supplémentaire de l’exécution de l’objet, envisagez de définir un sérialiseur de valeurs en plus d’un convertisseur de type, et Attributez les deux classes de prise en charge sur vos types personnalisés ou membres personnalisés. Pour plus d'informations, consultez ValueSerializer.

Constructeurs

TypeConverterAttribute()

Initialise une nouvelle instance de la classe TypeConverterAttribute avec le convertisseur de type par défaut, qui est une chaîne vide ("").

TypeConverterAttribute(String)

Initialise une nouvelle instance de la classe TypeConverterAttribute en utilisant le nom de type spécifié comme étant le convertisseur de données pour l'objet auquel cet attribut est lié.

TypeConverterAttribute(Type)

Initialise une nouvelle instance de la classe TypeConverterAttribute en utilisant le type spécifié comme convertisseur de données pour l'objet auquel cet attribut est lié.

Champs

Default

Spécifie le type à utiliser comme convertisseur de l'objet auquel cet attribut est lié.

Propriétés

ConverterTypeName

Obtient le nom de type qualifié complet de Type à utiliser comme convertisseur pour l'objet auquel cet attribut est lié.

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 indiquant si la valeur de l'objet donné est égale au TypeConverterAttribute en cours.

GetHashCode()

Retourne le code de hachage de cette instance.

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