TypeConverterAttribute Třída

Definice

Určuje typ, který se použije jako převaděč pro objekt, ke kterému je tento atribut vázán.Specifies what type to use as a converter for the object this attribute is bound to.

public ref class TypeConverterAttribute sealed : Attribute
public sealed class TypeConverterAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.All)]
public sealed class TypeConverterAttribute : Attribute
type TypeConverterAttribute = class
    inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.All)>]
type TypeConverterAttribute = class
    inherit Attribute
Public NotInheritable Class TypeConverterAttribute
Inherits Attribute
Dědičnost
TypeConverterAttribute
Atributy

Příklady

Následující příklad deklaruje MyClass pro použití převaděče typu s názvem MyClassConverter .The following example declares MyClass to use the type converter called MyClassConverter. Tento příklad předpokládá, že byl MyClassConverter implementován jinde.This example assumes that MyClassConverter has been implemented elsewhere. Třída implementující konvertor ( MyClassConverter ) musí dědit z TypeConverter třídy.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

Následující příklad vytvoří instanci MyClass .The next example creates an instance of MyClass. Pak získá atributy pro třídu a vytiskne název konvertoru typu používaného 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

Poznámky

Třída, kterou použijete pro převod, musí dědit z TypeConverter .The class you use for conversion must inherit from TypeConverter. Pomocí ConverterTypeName vlastnosti Získejte název třídy, která poskytuje převod dat pro objekt, ke kterému je tento atribut vázán.Use the ConverterTypeName property to get the name of the class that provides the data conversion for the object this attribute is bound to.

Další informace o atributech naleznete v tématu Attributes.For more information about attributes, see Attributes. Další informace o převaděčích typů naleznete v TypeConverter základní třídě a Postupy: Implementace konvertoru typu.For more information about type converters, see the TypeConverter base class and How to: Implement a Type Converter.

Aby bylo možné vytvořit konvertor typu na vlastní třídě, která poskytuje chování převodu typů pro kód XAML, použijte TypeConverterAttribute atribut pro typ.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 atributu odkazuje na implementaci konvertoru typu.The argument of the attribute references your type converter implementation. Konvertor typu by měl být schopný přijmout hodnoty z řetězce, který se používá pro atributy nebo inicializační text v kódu jazyka XAML a převést tento řetězec do zamýšleného cílového typu.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. Další informace naleznete v tématu TypeConverters a XAML.For more information, see TypeConverters and XAML.

Namísto použití na všechny hodnoty typu může být pro konkrétní vlastnost také vytvořeno chování konvertoru typu pro XAML.Rather than applying to all values of a type, a type converter behavior for XAML can also be established on a specific property. V takovém případě se použije TypeConverterAttribute na definici vlastnosti (vnější definice, nikoli na konkrétní definice get a set definice).In this case, you apply TypeConverterAttribute to the property definition (the outer definition, not the specific get and set definitions).

Chování konvertoru typu pro použití jazyka XAML vlastního přistupujícího člena lze přiřadit pomocí TypeConverterAttribute get přístupového objektu metody, který podporuje použití 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. Další informace najdete v tématu Přehled připojených vlastností.For more information, see Attached Properties Overview.

Pro složité případy serializace XAML, které vyžadují další stav z modulu runtime objektu, zvažte definování serializátoru hodnot kromě konvertoru typu a atribut obě třídy podporuje na vašich vlastních typech nebo vlastních členech.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. Další informace naleznete v tématu ValueSerializer.For more information, see ValueSerializer.

Konstruktory

TypeConverterAttribute()

Inicializuje novou instanci TypeConverterAttribute třídy s výchozím konvertorem typu, což je prázdný řetězec ("").Initializes a new instance of the TypeConverterAttribute class with the default type converter, which is an empty string ("").

TypeConverterAttribute(String)

Inicializuje novou instanci TypeConverterAttribute třídy pomocí zadaného názvu typu jako převaděč dat pro objekt, ke kterému je tento atribut vázán.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)

Inicializuje novou instanci TypeConverterAttribute třídy pomocí zadaného typu jako převaděč dat pro objekt, ke kterému je tento atribut vázán.Initializes a new instance of the TypeConverterAttribute class, using the specified type as the data converter for the object this attribute is bound to.

Pole

Default

Určuje typ, který se použije jako převaděč pro objekt, ke kterému je tento atribut vázán.Specifies the type to use as a converter for the object this attribute is bound to.

Vlastnosti

ConverterTypeName

Získá plně kvalifikovaný název typu, který Type má být použit jako převaděč pro objekt, ke kterému je tento atribut svázán.Gets the fully qualified type name of the Type to use as a converter for the object this attribute is bound to.

TypeId

Při implementaci v odvozené třídě získá jedinečný identifikátor Attribute .When implemented in a derived class, gets a unique identifier for this Attribute.

(Zděděno od Attribute)

Metody

Equals(Object)

Vrátí, zda je hodnota daného objektu shodná s aktuální hodnotou TypeConverterAttribute .Returns whether the value of the given object is equal to the current TypeConverterAttribute.

GetHashCode()

Vrátí hodnotu hash pro tuto instanci.Returns the hash code for this instance.

GetType()

Získá Type aktuální instanci.Gets the Type of the current instance.

(Zděděno od Object)
IsDefaultAttribute()

Při přepsání v odvozené třídě označuje, zda je hodnota této instance výchozí hodnotou pro odvozenou třídu.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Zděděno od Attribute)
Match(Object)

Při přepsání v odvozené třídě vrátí hodnotu, která označuje, zda je tato instance rovna zadanému objektu.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Zděděno od Attribute)
MemberwiseClone()

Vytvoří kopii aktuálního seznamu Object .Creates a shallow copy of the current Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.Returns a string that represents the current object.

(Zděděno od Object)

Explicitní implementace rozhraní

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

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.Maps a set of names to a corresponding set of dispatch identifiers.

(Zděděno od Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu pro objekt, který lze použít k získání informací o typu pro rozhraní.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Zděděno od Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Zděděno od Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.Provides access to properties and methods exposed by an object.

(Zděděno od Attribute)

Platí pro

Viz také