Freigeben über


TypeConverterAttribute-Klasse

Gibt an, welcher Typ als Konverter für das Objekt verwendet werden soll, an das dieses Attribut gebunden ist. Diese Klasse kann nicht geerbt werden.

Namespace: System.ComponentModel
Assembly: System (in system.dll)

Syntax

'Declaration
<AttributeUsageAttribute(AttributeTargets.All)> _
Public NotInheritable Class TypeConverterAttribute
    Inherits Attribute
'Usage
Dim instance As TypeConverterAttribute
[AttributeUsageAttribute(AttributeTargets.All)] 
public sealed class TypeConverterAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::All)] 
public ref class TypeConverterAttribute sealed : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.All) */ 
public final class TypeConverterAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.All) 
public final class TypeConverterAttribute extends Attribute

Hinweise

Die für die Konvertierung verwendete Klasse muss von TypeConverter erben. Rufen Sie mit der ConverterTypeName-Eigenschaft den Namen der Klasse ab, die die Datenkonvertierung für das Objekt bereitstellt, an das diese Eigenschaft gebunden ist.

Weitere Informationen über Attribute finden Sie unter Übersicht über Attribute und Erweitern von Metadaten mithilfe von Attributen. Weitere Informationen über Typkonverter finden Sie unter der TypeConverter-Basisklasse und unter Gewusst wie: Implementieren eines Typkonverters.

Beispiel

Im folgenden Beispiel wird MyClass angewiesen, den Typkonverter MyClassConverter zu verwenden. In diesem Beispiel wird davon ausgegangen, dass MyClassConverter an anderer Stelle implementiert ist. Die Klasse MyClassConverter, die den Konverter implementiert, muss von der TypeConverter-Klasse erben.

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

Im folgenden Beispiel wird eine Instanz von MyClass erstellt. Anschließend werden die Attribute für die Klasse abgerufen, und der Name des von MyClass verwendeten Typkonverters wird ausgegeben.

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
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;
 }
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 void main(String[] args)
{
    // 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.get_Item( TypeConverterAttribute.class.ToType())));
    Console.WriteLine(("The type conveter for this class is: " 
        + myAttribute.get_ConverterTypeName()));
   } //main 

Vererbungshierarchie

System.Object
   System.Attribute
    System.ComponentModel.TypeConverterAttribute

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

TypeConverterAttribute-Member
System.ComponentModel-Namespace
TypeConverter-Klasse