TypeConverterAttribute Sınıf

Tanım

Bu özniteliğin bağlandığı nesne için dönüştürücü olarak kullanılacak türü belirtir.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
Public NotInheritable Class TypeConverterAttribute
Inherits Attribute
Devralma
TypeConverterAttribute
Öznitelikler

Örnekler

Aşağıdaki örnek, MyClassConverterolarak adlandırılan tür dönüştürücüsünün MyClass bildirir.The following example declares MyClass to use the type converter called MyClassConverter. Bu örnekte MyClassConverter başka bir yerde uygulanmış olduğu varsayılır.This example assumes that MyClassConverter has been implemented elsewhere. Dönüştürücüyü uygulayan sınıf (MyClassConverter) TypeConverter sınıfından devralması gerekir.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

Sonraki örnek bir MyClassörneği oluşturur.The next example creates an instance of MyClass. Ardından, sınıfının özniteliklerini alır ve MyClasstarafından kullanılan tür dönüştürücünün adını yazdırır.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

Açıklamalar

Dönüştürme için kullandığınız sınıf TypeConverter'ten devralması gerekir.The class you use for conversion must inherit from TypeConverter. Bu özniteliğin bağlandığı nesne için veri dönüştürmeyi sağlayan sınıfın adını almak için ConverterTypeName özelliğini kullanı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.

Öznitelikler hakkında daha fazla bilgi için bkz. öznitelikler.For more information about attributes, see Attributes. Tür dönüştürücüler hakkında daha fazla bilgi için bkz. TypeConverter Base sınıfı ve nasıl yapılır: tür Dönüştürücüsü uygulama.For more information about type converters, see the TypeConverter base class and How to: Implement a Type Converter.

XAML için tür dönüştürme davranışı sağlayan özel bir sınıfta tür dönüştürücüsü oluşturmak için, TypeConverterAttribute özniteliğini türüne uygularsınız.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. Öznitelik bağımsız değişkeni tür dönüştürücü uygulamanıza başvurur.The argument of the attribute references your type converter implementation. Tür dönüştürüceniz XAML biçimlendirmesinde öznitelikler veya başlatma metni için kullanılan bir dizeden değer kabul edebilmelidir ve bu dizeyi amaçlanan hedef türüne dönüştürmelidir.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. Daha fazla bilgi için bkz. TypeConverters ve xaml.For more information, see TypeConverters and XAML.

Bir türün tüm değerlerine uygulamak yerine, XAML için bir tür dönüştürücü davranışı belirli bir özellik üzerinde de oluşturulabilir.Rather than applying to all values of a type, a type converter behavior for XAML can also be established on a specific property. Bu durumda, TypeConverterAttribute Özellik tanımına (özel get ve set tanımları değil) uygularsınız.In this case, you apply TypeConverterAttribute to the property definition (the outer definition, not the specific get and set definitions).

Özel bir eklenebilir üyenin XAML kullanımına yönelik tür dönüştürücüsü davranışı, XAML kullanımını destekleyen get yöntemi erişimcisine TypeConverterAttribute uygulanarak atanabilir.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. Daha fazla bilgi için bkz. ekli özelliklere genel bakış.For more information, see Attached Properties Overview.

Nesne çalışma zamanından daha fazla durum gerektiren karmaşık XAML serileştirme durumlarında, bir tür dönüştürücüsünün yanı sıra bir değer serileştirici tanımlamayı ve öznitelik için her ikisi de özel türlerinizin veya özel üyelerinizdeki sınıfları destekler.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. Daha fazla bilgi için bkz. ValueSerializer.For more information, see ValueSerializer.

Oluşturucular

TypeConverterAttribute()

Boş bir dize ("") olan varsayılan tür dönüştürücüsüyle TypeConverterAttribute sınıfının yeni bir örneğini başlatır.Initializes a new instance of the TypeConverterAttribute class with the default type converter, which is an empty string ("").

TypeConverterAttribute(String)

Bu özniteliğin bağlandığı nesnenin veri dönüştürücüsü olarak belirtilen tür adını kullanarak TypeConverterAttribute sınıfının yeni bir örneğini başlatır.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)

Bu özniteliğin bağlandığı nesnenin veri dönüştürücüsü olarak belirtilen türü kullanarak TypeConverterAttribute sınıfının yeni bir örneğini başlatır.Initializes a new instance of the TypeConverterAttribute class, using the specified type as the data converter for the object this attribute is bound to.

Alanlar

Default

Bu özniteliğin bağlandığı nesne için bir dönüştürücü olarak kullanılacak türü belirtir.Specifies the type to use as a converter for the object this attribute is bound to.

Özellikler

ConverterTypeName

Bu özniteliğin bağlandığı nesne için bir dönüştürücü olarak kullanılacak Type tam nitelikli tür adını alır.Gets the fully qualified type name of the Type to use as a converter for the object this attribute is bound to.

TypeId

Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır.When implemented in a derived class, gets a unique identifier for this Attribute.

(Devralındığı yer: Attribute)

Yöntemler

Equals(Object)

Verilen nesnenin değerinin geçerli TypeConverterAttributeeşit olup olmadığını döndürür.Returns whether the value of the given object is equal to the current TypeConverterAttribute.

GetHashCode()

Bu örneğe ilişkin karma kodu döndürür.Returns the hash code for this instance.

GetType()

Geçerli örneğin Type alır.Gets the Type of the current instance.

(Devralındığı yer: Object)
IsDefaultAttribute()

Türetilmiş bir sınıfta geçersiz kılınırsa, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Devralındığı yer: Attribute)
Match(Object)

Türetilmiş bir sınıfta geçersiz kılınırsa, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Devralındığı yer: Attribute)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.Creates a shallow copy of the current Object.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden bir dize döndürür.Returns a string that represents the current object.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

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

Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler.Maps a set of names to a corresponding set of dispatch identifiers.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Bir arabirimin tür bilgilerini almak için kullanılabilen bir nesnenin tür bilgilerini alır.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Devralındığı yer: Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bir nesne tarafından sunulan özelliklere ve yöntemlere erişim sağlar.Provides access to properties and methods exposed by an object.

(Devralındığı yer: Attribute)

Şunlara uygulanır

Ayrıca bkz.