TypeConverterAttribute Kelas

Definisi

Menentukan jenis apa yang akan digunakan sebagai pengonversi untuk objek yang terikat atribut ini.

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
Warisan
TypeConverterAttribute
Atribut

Contoh

Contoh berikut menyatakan MyClass untuk menggunakan pengonversi jenis yang disebut MyClassConverter. Contoh ini mengasumsikan bahwa MyClassConverter telah diterapkan di tempat lain. Kelas yang mengimplementasikan konverter (MyClassConverter) harus mewarisi dari TypeConverter kelas .

[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

Contoh berikutnya membuat instans MyClass. Kemudian mendapatkan atribut untuk kelas , dan mencetak nama pengonversi jenis yang digunakan oleh 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

Keterangan

Kelas yang Anda gunakan untuk konversi harus diwarisi dari TypeConverter. ConverterTypeName Gunakan properti untuk mendapatkan nama kelas yang menyediakan konversi data untuk objek yang terikat atribut ini.

Untuk informasi selengkapnya tentang atribut, lihat Atribut. Untuk informasi selengkapnya tentang pengonversi jenis, lihat TypeConverter kelas dasar dan Cara: Menerapkan Pengonversi Jenis.

Untuk membuat pengonversi jenis pada kelas kustom yang menyediakan perilaku konversi jenis untuk XAML, Anda menerapkan atribut ke TypeConverterAttribute jenis Anda. Argumen atribut mereferensikan implementasi pengonversi jenis Anda. Pengonversi jenis Anda harus dapat menerima nilai dari string yang digunakan untuk atribut atau teks inisialisasi dalam markup XAML, dan mengonversi string tersebut menjadi jenis tujuan yang Anda maksudkan. Untuk informasi selengkapnya, lihat TypeConverters dan XAML.

Daripada menerapkan ke semua nilai jenis, perilaku pengonversi jenis untuk XAML juga dapat ditetapkan pada properti tertentu. Dalam hal ini, Anda menerapkan TypeConverterAttribute ke definisi properti (definisi luar, bukan definisi dan set spesifikget).

Perilaku pengonversi jenis untuk penggunaan XAML dari anggota yang dapat dilampirkan kustom dapat ditetapkan dengan menerapkan TypeConverterAttribute ke get pengaktif metode yang mendukung penggunaan XAML. Untuk informasi lebih lanjut, lihat Gambaran Umum Properti Terlampir.

Untuk kasus serialisasi XAML kompleks yang memerlukan status tambahan dari runtime objek, pertimbangkan untuk menentukan serializer nilai selain pengonversi jenis, dan atribut kelas dukungan pada jenis kustom atau anggota kustom Anda. Untuk informasi selengkapnya, lihat ValueSerializer.

Konstruktor

TypeConverterAttribute()

Menginisialisasi instans TypeConverterAttribute baru kelas dengan pengonversi jenis default, yang merupakan string kosong ("").

TypeConverterAttribute(String)

Menginisialisasi instans TypeConverterAttribute baru kelas, menggunakan nama jenis yang ditentukan sebagai pengonversi data untuk objek yang terikat atribut ini.

TypeConverterAttribute(Type)

Menginisialisasi instans TypeConverterAttribute baru kelas, menggunakan jenis yang ditentukan sebagai pengonversi data untuk objek yang terikat atribut ini.

Bidang

Default

Menentukan jenis yang akan digunakan sebagai pengonversi untuk objek yang terikat atribut ini.

Properti

ConverterTypeName

Mendapatkan nama jenis yang sepenuhnya memenuhi syarat untuk Type digunakan sebagai pengonversi untuk objek yang terikat atribut ini.

TypeId

Ketika diimplementasikan di kelas turunan, mendapatkan pengidentifikasi unik untuk ini Attribute.

(Diperoleh dari Attribute)

Metode

Equals(Object)

Mengembalikan apakah nilai objek yang diberikan sama dengan saat ini TypeConverterAttribute.

GetHashCode()

Mengembalikan kode hash untuk instans ini.

GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
IsDefaultAttribute()

Ketika ditimpa di kelas turunan, menunjukkan apakah nilai instans ini adalah nilai default untuk kelas turunan.

(Diperoleh dari Attribute)
Match(Object)

Saat ditimpa di kelas turunan, mengembalikan nilai yang menunjukkan apakah instans ini sama dengan objek tertentu.

(Diperoleh dari Attribute)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

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

Memetakan sekumpulan nama ke sekumpulan pengidentifikasi pengiriman yang sesuai.

(Diperoleh dari Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Mengambil informasi jenis untuk objek, yang dapat digunakan untuk mendapatkan informasi jenis untuk antarmuka.

(Diperoleh dari Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Mengambil jumlah antarmuka informasi jenis yang disediakan objek (baik 0 atau 1).

(Diperoleh dari Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Menyediakan akses ke properti dan metode yang diekspos oleh objek.

(Diperoleh dari Attribute)

Berlaku untuk

Lihat juga