TypeConverterAttribute TypeConverterAttribute TypeConverterAttribute TypeConverterAttribute Class

Definition

Gibt an, welcher Typ als Konverter für das Objekt verwendet werden sollte, an das dieses Attribut gebunden ist.Specifies what type to use as a converter for the object this attribute is bound to.

public ref class TypeConverterAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class TypeConverterAttribute : Attribute
type TypeConverterAttribute = class
    inherit Attribute
Public NotInheritable Class TypeConverterAttribute
Inherits Attribute
Vererbung
TypeConverterAttributeTypeConverterAttributeTypeConverterAttributeTypeConverterAttribute
Attribute

Beispiele

Im folgenden Beispiel wird MyClass deklariert, um den Typkonverter MyClassConvertermit dem Namen zu verwenden.The following example declares MyClass to use the type converter called MyClassConverter. In diesem Beispiel wird MyClassConverter davon ausgegangen, dass an anderer Stelle implementiert wurde.This example assumes that MyClassConverter has been implemented elsewhere. Die Klasse, die den KonverterMyClassConverter() implementiert, muss TypeConverter von der-Klasse erben.The class implementing the converter (MyClassConverter) must inherit from the TypeConverter class.

[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

Im nächsten Beispiel wird eine Instanz von MyClasserstellt.The next example creates an instance of MyClass. Anschließend werden die Attribute für die Klasse abgerufen, und der Name des Typkonverters, der von MyClassverwendet wird, wird ausgegeben.Then it gets the attributes for the class, and prints the name of the type converter used by 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

Hinweise

Die Klasse, die Sie für die Konvertierung verwenden TypeConverter, muss von erben.The class you use for conversion must inherit from TypeConverter. Verwenden Sie ConverterTypeName die-Eigenschaft, um den Namen der Klasse zu erhalten, die die Datenkonvertierung für das Objekt bereitstellt, an das dieses Attribut gebunden ist.Use the ConverterTypeName property to get the name of the class that provides the data conversion for the object this attribute is bound to.

Weitere Informationen zu Attributen finden Sie unter Attribute.For more information about attributes, see Attributes. Weitere Informationen zu Typkonvertern finden Sie in TypeConverter der Basisklasse und unter Vorgehensweise: Implementieren Sie einen Typkonverter.For more information about type converters, see the TypeConverter base class and How to: Implement a Type Converter.

Um einen Typkonverter für eine benutzerdefinierte Klasse zu erstellen, die Typkonvertierungs Verhalten für XAML bereitstellt, TypeConverterAttribute wenden Sie das-Attribut auf den Typ an.In order to establish a type converter on a custom class that provides type conversion behavior for XAML, you apply the TypeConverterAttribute attribute to your type. Das-Argument des-Attributs verweist auf Ihre typkonverterimplementierung.The argument of the attribute references your type converter implementation. Ihr Typkonverter sollte in der Lage sein, Werte aus einer Zeichenfolge zu akzeptieren, die für Attribute oder Initialisierungs Text in XAML-Markup verwendet wird. konvertieren Sie diese Zeichenfolge in den gewünschten Zieltyp.Your type converter should be able to accept values from a string that is used for attributes or initialization text in XAML markup, and convert that string into your intended destination type. Weitere Informationen finden Sie unter TypeConverter und XAML.For more information, see TypeConverters and XAML.

Anstatt auf alle Werte eines Typs anzuwenden, kann auch ein Typkonverterverhalten für XAML für eine bestimmte Eigenschaft festgelegt werden.Rather than applying to all values of a type, a type converter behavior for XAML can also be established on a specific property. In diesem Fall wenden TypeConverterAttribute Sie auf die Eigenschafts Definition an (die äußere Definition, nicht die spezifischen set get -und-Definitionen).In this case, you apply TypeConverterAttribute to the property definition (the outer definition, not the specific get and set definitions).

Ein Typkonverterverhalten für die XAML-Verwendung eines benutzerdefinierten anfügbaren Members TypeConverterAttribute kann zugewiesen get werden, indem auf den Methoden Accessor angewendet wird, der die XAML-Verwendung unterstützt.A type converter behavior for XAML usage of a custom attachable member can be assigned by applying TypeConverterAttribute to the get method accessor that supports the XAML usage. Weitere Informationen finden Sie unter Übersicht über angefügte Eigenschaften.For more information, see Attached Properties Overview.

Für komplexe XAML-serialisierungsfälle, bei denen ein zusätzlicher Zustand aus der Objekt Laufzeit erforderlich ist, sollten Sie ein wertserialisierungsprogramm zusätzlich zu einem Typkonverter definieren, und beide unterstützten Klassen für benutzerdefinierte Typen oder benutzerdefinierte Member.For complex XAML serialization cases that require additional state from the object runtime, consider defining a value serializer in addition to a type converter, and attribute both support classes on your custom types or custom members. Weitere Informationen finden Sie unter ValueSerializer.For more information, see ValueSerializer.

Konstruktoren

TypeConverterAttribute() TypeConverterAttribute() TypeConverterAttribute() TypeConverterAttribute()

Initialisiert eine neue Instanz der TypeConverterAttribute-Klasse mit dem Standardtypkonverter. Dies ist eine leere Zeichenfolge ("").Initializes a new instance of the TypeConverterAttribute class with the default type converter, which is an empty string ("").

TypeConverterAttribute(String) TypeConverterAttribute(String) TypeConverterAttribute(String) TypeConverterAttribute(String)

Initialisiert eine neue Instanz der TypeConverterAttribute-Klasse. Dabei wird der angegebene Typname als Datenkonverter für das Objekt verwendet, an das dieses Attribut gebunden ist.Initializes a new instance of the TypeConverterAttribute class, using the specified type name as the data converter for the object this attribute is bound to.

TypeConverterAttribute(Type) TypeConverterAttribute(Type) TypeConverterAttribute(Type) TypeConverterAttribute(Type)

Initialisiert eine neue Instanz der TypeConverterAttribute-Klasse. Dabei wird der angegebene Typ als Datenkonverter für das Objekt verwendet, an das dieses Attribut gebunden ist.Initializes a new instance of the TypeConverterAttribute class, using the specified type as the data converter for the object this attribute is bound to.

Felder

Default Default Default Default

Gibt den Typ an, der als Konverter für das Objekt verwendet werden soll, an das dieses Attribut gebunden ist.Specifies the type to use as a converter for the object this attribute is bound to.

Eigenschaften

ConverterTypeName ConverterTypeName ConverterTypeName ConverterTypeName

Ruft den voll gekennzeichneten Typnamen von Type ab, der als Konverter für das Objekt verwendet wird, an das dieses Attribut gebunden ist.Gets the fully qualified type name of the Type to use as a converter for the object this attribute is bound to.

TypeId TypeId TypeId TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Methoden

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Gibt zurück, ob der Wert des angegebenen Objekts gleich dem aktuellen TypeConverterAttribute ist.Returns whether the value of the given object is equal to the current TypeConverterAttribute.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Gibt den Hashcode für diese Instanz zurück.Returns the hash code for this instance.

GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object) Match(Object) Match(Object) Match(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Explizite Schnittstellenimplementierungen

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

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Gilt für:

Siehe auch