TypeConverterAttribute 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.
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
- Attributs
Exemples
L’exemple suivant déclare MyClass utiliser le convertisseur de type appelé MyClassConverter. Cet exemple part du principe que MyClassConverter l’implémentation a été effectuée 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. Ensuite, il obtient les attributs de 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();
// 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 types, consultez la TypeConverter classe de base et How to : Implement a Type Converter.
Pour établir un convertisseur de type sur une classe personnalisée qui fournit un comportement de conversion de type pour XAML, vous appliquez l’attribut TypeConverterAttribute à 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 et de convertir cette chaîne en votre type de destination prévu. Pour plus d’informations, consultez TypeConverters et XAML.
Au lieu 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, et non les définitions spécifiquesget).set
Un comportement de convertisseur de type pour l’utilisation XAML d’un membre pouvant être attaché personnalisé peut être affecté en appliquant TypeConverterAttribute à l’accesseur get de méthode qui prend en charge l’utilisation XAML. Pour plus d’informations, consultez Vue d’ensemble des propriétés jointes.
Pour les cas de sérialisation XAML complexes nécessitant un état supplémentaire à partir du runtime d’objet, envisagez de définir un sérialiseur de valeurs en plus d’un convertisseur de types et d’attributs qui prennent en charge les classes sur vos types personnalisés ou membres personnalisés. Pour plus d’informations, consultez ValueSerializer.
Constructeurs
| Nom | Description |
|---|---|
| TypeConverterAttribute() |
Initialise une nouvelle instance de la TypeConverterAttribute classe avec le convertisseur de type par défaut, qui est une chaîne vide (« »). |
| TypeConverterAttribute(String) |
Initialise une nouvelle instance de la TypeConverterAttribute classe en utilisant le nom de type spécifié comme convertisseur de données pour l’objet auquel cet attribut est lié. |
| TypeConverterAttribute(Type) |
Initialise une nouvelle instance de la TypeConverterAttribute classe, en utilisant le type spécifié comme convertisseur de données pour l’objet auquel cet attribut est lié. |
Champs
| Nom | Description |
|---|---|
| Default |
Spécifie le type à utiliser comme convertisseur pour l’objet auquel cet attribut est lié. |
Propriétés
| Nom | Description |
|---|---|
| ConverterTypeName |
Obtient le nom de type complet de l’objet Type à utiliser comme convertisseur pour l’objet auquel cet attribut est lié. |
| 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 si la valeur de l’objet donné est égale à la valeur actuelle TypeConverterAttribute. |
| GetHashCode() |
Retourne le code de hachage pour cette instance. |
| 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) |