Sdílet prostřednictvím


TypeConverterAttribute Třída

Definice

Určuje, jaký typ se má použít jako převaděč pro objekt, na který je tento atribut vázán.

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
Dědičnost
TypeConverterAttribute
Atributy

Příklady

Následující příklad deklaruje MyClass použití převaděče typů s názvem MyClassConverter. Tento příklad předpokládá, že MyClassConverter byla implementována jinde. Třída implementuje převaděč (MyClassConverter) musí dědit z TypeConverter třídy .

[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

Další příklad vytvoří instanci .MyClass Potom získá atributy pro třídu a vytiskne název převaděče typů, který MyClasspoužívá .

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 TypeConvertertřídy . ConverterTypeName Pomocí vlastnosti získejte název třídy, která poskytuje převod dat pro objekt, na který je tento atribut vázán.

Další informace o atributech najdete v tématu Atributy. Další informace o převaděčích typů naleznete v TypeConverter základní třídě a Postupy: Implementace převaděče typů.

Chcete-li vytvořit převaděč typů pro vlastní třídu, která poskytuje chování při převodu TypeConverterAttribute typů pro XAML, použijete atribut na váš typ. Argument atributu odkazuje na implementaci převaděče typů. Převaděč typů by měl být schopen přijímat hodnoty z řetězce, který se používá pro atributy nebo inicializační text v kódu XAML, a převést tento řetězec na zamýšlený cílový typ. Další informace najdete v tématu TypeConverters a XAML.

Místo použití u všech hodnot typu lze chování převaděče typů pro XAML stanovit také pro konkrétní vlastnost. V tomto případě použijete TypeConverterAttribute definici vlastnosti (vnější definici, nikoli konkrétní get definice a set definice).

Chování převaděče typů pro použití xaml vlastního připojitelného členu lze přiřadit použitím TypeConverterAttributeget metody, která podporuje použití XAML. Další informace najdete v přehledu přidružených vlastností.

V případě složitých případů serializace XAML, které vyžadují další stav z modulu runtime objektu, zvažte definování serializátoru hodnot kromě převaděče typů a atribut obě podporují třídy na vlastní typy nebo vlastní členy. Další informace naleznete v tématu ValueSerializer.

Konstruktory

TypeConverterAttribute()

Inicializuje novou instanci třídy pomocí výchozího TypeConverterAttribute převaděče typů, což je prázdný řetězec ("").

TypeConverterAttribute(String)

Inicializuje novou instanci TypeConverterAttribute třídy pomocí zadaného názvu typu jako převaděč dat pro objekt, na který je tento atribut vázán.

TypeConverterAttribute(Type)

Inicializuje novou instanci TypeConverterAttribute třídy pomocí zadaného typu jako převaděče dat pro objekt, na který je tento atribut vázán.

Pole

Default

Určuje typ, který se má použít jako převaděč pro objekt, na který je tento atribut vázán.

Vlastnosti

ConverterTypeName

Získá plně kvalifikovaný typ název Type použít jako převaděč pro objekt, který je vázán tento atribut.

TypeId

Při implementaci v odvozené třídě získá jedinečný identifikátor pro tuto Attributetřídu .

(Zděděno od Attribute)

Metody

Equals(Object)

Vrátí, zda je hodnota daného objektu rovna aktuálnímu TypeConverterAttributeobjektu .

GetHashCode()

Vrátí hodnotu hash pro tuto instanci.

GetType()

Type Získá z aktuální 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.

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

Při přepsání v odvozené třídě vrátí hodnotu, která označuje, zda se tato instance rovná zadanému objektu.

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

Vytvoří mělkou kopii aktuálního Objectsouboru .

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

Vrátí řetězec, který představuje aktuální objekt.

(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í.

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

Načte informace o typu objektu, které lze použít k získání informací o typu pro rozhraní.

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

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 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.

(Zděděno od Attribute)

Platí pro

Viz také