Aracılığıyla paylaş


TypeConverterAttribute Sınıf

Tanım

Bu özniteliğin bağlı olduğu nesne için dönüştürücü olarak kullanılacak türü belirtir.

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
Devralma
TypeConverterAttribute
Öznitelikler

Örnekler

Aşağıdaki örnek, adlı MyClassConvertertür dönüştürücüsunun kullanılacağını bildirirMyClass. Bu örnekte, bunun MyClassConverter başka bir yerde uygulandığı varsayılır. DönüştürücüMyClassConverter () uygulayan sınıfın sınıfından devralınması TypeConverter gerekir.

[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 örneği MyClassoluşturur. Ardından sınıfının özniteliklerini alır ve tarafından MyClasskullanılan tür dönüştürücüsünün adını yazdırır.

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ın öğesinden TypeConverterdevralınması gerekir. Bu özniteliğin ConverterTypeName bağlı olduğu nesne için veri dönüştürmeyi sağlayan sınıfın adını almak için özelliğini kullanın.

Öznitelikler hakkında daha fazla bilgi için bkz . Öznitelikler. Tür dönüştürücüleri hakkında daha fazla bilgi için temel sınıfa TypeConverter ve Nasıl yapılır: Tür Dönüştürücüsü Uygulama'ya bakın.

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 özniteliğini TypeConverterAttribute türünüz için uygularsınız. özniteliğinin bağımsız değişkeni, tür dönüştürücü uygulamanıza başvurur. Tür dönüştürücünüz, XAML işaretlemesindeki öznitelikler veya başlatma metni için kullanılan bir dizedeki değerleri kabul edebilmelidir ve bu dizeyi hedef türünüz haline dönüştürebilmelidir. Daha fazla bilgi için bkz . TypeConverters ve XAML.

Bir türün tüm değerlerine uygulamak yerine, XAML için bir tür dönüştürücü davranışı da belirli bir özellik üzerinde oluşturulabilir. Bu durumda, özellik tanımına (belirli get ve set tanımlara değil dış tanıma) uygularsınızTypeConverterAttribute.

Özel eklenebilir üyenin XAML kullanımı için tür dönüştürücü davranışı, XAML kullanımını destekleyen yöntem erişimcisine get uygulanarak TypeConverterAttribute atanabilir. Daha fazla bilgi için, bkz. Ekli Özelliklere Genel Bakış.

Nesne çalışma zamanından ek durum gerektiren karmaşık XAML serileştirme durumları için, tür dönüştürücüye ek olarak bir değer serileştiricisi tanımlamayı ve hem özel türlerinizdeki hem de özel üyelerinizdeki destek sınıflarını özniteliklendirmeyi göz önünde bulundurun. Daha fazla bilgi için bkz. ValueSerializer.

Oluşturucular

TypeConverterAttribute()

Boş bir dize ("") olan varsayılan tür dönüştürücüsü ile sınıfının yeni bir örneğini TypeConverterAttribute başlatır.

TypeConverterAttribute(String)

Bu özniteliğin TypeConverterAttribute bağlı olduğu nesnenin veri dönüştürücüsü olarak belirtilen tür adını kullanarak sınıfın yeni bir örneğini başlatır.

TypeConverterAttribute(Type)

Bu özniteliğin TypeConverterAttribute bağlı olduğu nesnenin veri dönüştürücüsü olarak belirtilen türü kullanarak sınıfının yeni bir örneğini başlatır.

Alanlar

Default

Bu özniteliğin bağlı olduğu nesne için dönüştürücü olarak kullanılacak türü belirtir.

Özellikler

ConverterTypeName

Bu özniteliğin Type bağlı olduğu nesne için dönüştürücü olarak kullanılacak tam tür adını alır.

TypeId

Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır.

(Devralındığı yer: Attribute)

Yöntemler

Equals(Object)

Verilen nesnenin değerinin geçerli TypeConverterAttributedeğerine eşit olup olmadığını döndürür.

GetHashCode()

Bu örneğe ilişkin karma kodu döndürür.

GetType()

Type Geçerli örneğini alır.

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

Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir.

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

Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür.

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

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

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

Geçerli nesneyi temsil eden dizeyi döndürür.

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

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

Bir arabirimin tür bilgilerini almak için kullanılabilecek bir nesnenin tür bilgilerini alır.

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

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 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.

(Devralındığı yer: Attribute)

Şunlara uygulanır

Ayrıca bkz.