TypeConverterAttribute Klasa

Definicja

Określa typ, który ma być używany jako konwerter dla obiektu, z którym jest powiązany ten atrybut.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
Dziedziczenie
TypeConverterAttribute
Atrybuty

Przykłady

Poniższy przykład deklaruje MyClass, aby użyć konwertera typów o nazwie MyClassConverter.The following example declares MyClass to use the type converter called MyClassConverter. W tym przykładzie przyjęto założenie, że MyClassConverter został zaimplementowany w innym miejscu.This example assumes that MyClassConverter has been implemented elsewhere. Klasa implementująca konwerter (MyClassConverter) musi dziedziczyć z klasy TypeConverter.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

Następny przykład tworzy wystąpienie MyClass.The next example creates an instance of MyClass. Następnie pobiera atrybuty dla klasy i drukuje nazwę konwertera typów używanego przez MyClass.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

Uwagi

Klasa używana do konwersji musi dziedziczyć po TypeConverter.The class you use for conversion must inherit from TypeConverter. Użyj właściwości ConverterTypeName, aby uzyskać nazwę klasy, która zapewnia konwersję danych dla obiektu, z którym jest powiązany ten atrybut.Use the ConverterTypeName property to get the name of the class that provides the data conversion for the object this attribute is bound to.

Aby uzyskać więcej informacji na temat atrybutów, zobacz atrybuty.For more information about attributes, see Attributes. Aby uzyskać więcej informacji na temat konwerterów typów, zobacz klasę bazową TypeConverter i instrukcje: implementowanie konwertera typów.For more information about type converters, see the TypeConverter base class and How to: Implement a Type Converter.

Aby określić konwerter typu dla klasy niestandardowej, która zapewnia zachowanie konwersji typu dla języka XAML, należy zastosować atrybut TypeConverterAttribute do typu.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. Argument atrybutu odwołuje się do implementacji konwertera typów.The argument of the attribute references your type converter implementation. Konwerter typu powinien mieć możliwość akceptowania wartości z ciągu, który jest używany w przypadku atrybutów lub tekstu inicjującego w znacznikach XAML, a następnie przekonwertować ten ciąg na zamierzony typ docelowy.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. Aby uzyskać więcej informacji, zobacz TypeConverters i XAML.For more information, see TypeConverters and XAML.

Zamiast stosować do wszystkich wartości typu, zachowanie konwertera typów dla języka XAML można również ustalić dla konkretnej właściwości.Rather than applying to all values of a type, a type converter behavior for XAML can also be established on a specific property. W takim przypadku należy zastosować TypeConverterAttribute do definicji właściwości (definicja zewnętrzna, a nie określone definicje get i set).In this case, you apply TypeConverterAttribute to the property definition (the outer definition, not the specific get and set definitions).

Zachowanie konwertera typów dla użycia XAML niestandardowego elementu członkowskiego dołączalnego może być przypisane przez zastosowanie TypeConverterAttribute do metody dostępu get, która obsługuje użycie XAML.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. Aby uzyskać więcej informacji, zobacz Omówienie dołączonej właściwości.For more information, see Attached Properties Overview.

W przypadku złożonych przypadków serializacji XAML, które wymagają dodatkowego stanu z środowiska uruchomieniowego obiektów, należy rozważyć zdefiniowanie serializatora wartości obok konwertera typów, a atrybut Both obsługuje klasy dla typów niestandardowych lub niestandardowych elementów członkowskich.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. Aby uzyskać więcej informacji, zobacz temat ValueSerializer.For more information, see ValueSerializer.

Konstruktory

TypeConverterAttribute()

Inicjuje nowe wystąpienie klasy TypeConverterAttribute przy użyciu domyślnego konwertera typów, który jest pustym ciągiem ("").Initializes a new instance of the TypeConverterAttribute class with the default type converter, which is an empty string ("").

TypeConverterAttribute(String)

Inicjuje nowe wystąpienie klasy TypeConverterAttribute, używając określonej nazwy typu jako konwertera danych dla obiektu, z którym jest powiązany ten atrybut.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)

Inicjuje nowe wystąpienie klasy TypeConverterAttribute, używając określonego typu jako konwertera danych dla obiektu, z którym jest powiązany ten atrybut.Initializes a new instance of the TypeConverterAttribute class, using the specified type as the data converter for the object this attribute is bound to.

Pola

Default

Określa typ, który ma być używany jako konwerter dla obiektu, z którym jest powiązany ten atrybut.Specifies the type to use as a converter for the object this attribute is bound to.

Właściwości

ConverterTypeName

Pobiera w pełni kwalifikowaną nazwę typu Type, która ma być używana jako konwerter dla obiektu, z którym jest powiązany ten atrybut.Gets the fully qualified type name of the Type to use as a converter for the object this attribute is bound to.

TypeId

Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Odziedziczone po Attribute)

Metody

Equals(Object)

Zwraca czy wartość danego obiektu jest równa bieżącej TypeConverterAttribute.Returns whether the value of the given object is equal to the current TypeConverterAttribute.

GetHashCode()

Zwraca kod skrótu dla tego wystąpienia.Returns the hash code for this instance.

GetType()

Pobiera Type bieżącego wystąpienia.Gets the Type of the current instance.

(Odziedziczone po Object)
IsDefaultAttribute()

Gdy jest zastępowany w klasie pochodnej, wskazuje, czy wartość tego wystąpienia jest wartością domyślną klasy pochodnej.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Odziedziczone po Attribute)
Match(Object)

Gdy jest zastępowany w klasie pochodnej, zwraca wartość wskazującą, czy to wystąpienie jest zgodne z określonym obiektem.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Odziedziczone po Attribute)
MemberwiseClone()

Tworzy skróconą kopię bieżącego Object.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
ToString()

Zwraca ciąg, który reprezentuje bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Jawne implementacje interfejsu

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

Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania.Maps a set of names to a corresponding set of dispatch identifiers.

(Odziedziczone po Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Pobiera informacje o typie dla obiektu, którego można użyć do uzyskania informacji o typie dla interfejsu.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Odziedziczone po Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Odziedziczone po Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt.Provides access to properties and methods exposed by an object.

(Odziedziczone po Attribute)

Dotyczy

Zobacz też