TypeConverterAttribute Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
- Öznitelikler
Örnekler
Aşağıdaki örnek, adlı MyClassConverter
tü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 MyClass
oluşturur. Ardından sınıfının özniteliklerini alır ve tarafından MyClass
kullanı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) |