Bagikan melalui


XamlMember Kelas

Definisi

Menyediakan pengidentifikasi sistem jenis XAML untuk anggota jenis XAML. Pengidentifikasi digunakan oleh pembaca XAML dan penulis XAML selama pemrosesan node anggota (ketika pembaca XAML diposisikan pada StartMember) dan juga untuk logika sistem jenis XAML umum.

public ref class XamlMember : IEquatable<System::Xaml::XamlMember ^>
public class XamlMember : IEquatable<System.Xaml.XamlMember>
type XamlMember = class
    interface IEquatable<XamlMember>
Public Class XamlMember
Implements IEquatable(Of XamlMember)
Warisan
XamlMember
Turunan
Penerapan

Keterangan

XamlMember dapat menggunakan tiga metodologi untuk mengembalikan informasi tentang anggota XAML: refleksi runtime bahasa umum standar (CLR) ; teknik refleksi khusus referensi yang memanggil API internal yang menggunakan bendera bit yang dioptimalkan; atau memanggil penggantian Lookup* virtual API yang disediakan oleh subkelas yang mungkin XamlMember . Untuk sebagian besar penggunaan API Layanan XAML .NET Framework dan XamlMember API, Anda menggunakan konteks skema XAML default. Konteks skema XAML default untuk .NET Framework XAML Services menggunakan backing CLR untuk sistem jenis. Ini memungkinkan pembaca XAML dan penulis XAML untuk bekerja dengan jenis atau anggota apa pun yang didefinisikan, atau tersedia untuk, CLR dan teknik pantulannya.

Cari* API dan Kelas Turunan XamlMember

XamlMember mendefinisikan beberapa anggota virtual yang turunan kelas mungkin mengambil alih. Anggota ini memiliki nama yang selalu dimulai dengan string Lookup. Sisa nama API kemudian mereferensikan properti yang dipengaruhi metode virtual. Misalnya, XamlMember kelas turunan mungkin mengambil alih LookupTargetType untuk memengaruhi apa yang dikembalikan properti TargetType yang ditentukan dasar dalam kelas turunan. Anda dapat memprediksi nilai pengembalian untuk properti tersebut di atau XamlMember kelas turunan yang ada dengan membaca dokumentasi untuk metode yang relevan Lookup* .

Tujuan dari Lookup* metode ini adalah untuk menyediakan teknik ekstensi sistem jenis XAML yang menggabungkan XamlMember kelas dasar. Dengan mengambil alih XamlMember dan mengambil alih Lookup anggota virtual, Anda dapat menentukan konsep anggota XAML untuk skema XAML dalam sistem jenis XAML tanpa terikat pada spesifikasi sistem atau teknologi jenis backing. Anda juga dapat menggunakan konteks skema XAML yang disediakan di bawah skema ini dan masih mengembalikan hasil yang Anda inginkan.

Sebagai contoh, pertimbangkan XamlMember properti IsWritePublic. Properti ini menginformasikan kepada penelepon bahwa operasi seperti menggunakan XamlWriter untuk serialisasi dapat menulis nilai untuk anggota ini pada objek target. Dalam implementasi default, penentuan apakah anggota dapat ditulis dibuat dengan menggunakan teknik refleksi terhadap CLR Type yang mendukung dan anggotanya ( MemberInfo). Oleh karena itu, secara default, sistem jenis XAML tergantung pada sistem jenis CLR. Namun, Anda dapat menghapus dependensi ini untuk pelaporan IsWritePublic sistem jenis XAML Anda dengan mengambil alih API LookupIsWritePublic. Dalam penimpaan Anda, Anda dapat menggunakan penentuan lain, seperti metadata yang khusus untuk teknologi Anda, tabel pencarian utama yang dioptimalkan untuk kosakata XAML tetap, atau berbagai strategi lain untuk menentukan apakah anggota XAML dapat ditulis dalam kosakata XAML Anda.

Membangun XamlMember Tanpa Konteks Skema XAML

Sebagian besar konstruktor XamlMember memerlukan XamlSchemaContext sebagai bagian dari inisialisasi mereka. XamlSchemaContext Juga diperlukan untuk banyak operasi internalXamlSchemaContext, seperti mendapatkan informasi yang sedang diteruskan dari jenis backing. Saat Anda bekerja dengan XamlMember API, Anda biasanya memiliki XamlSchemaContext yang tersedia dari konstruksi sekitarnya seperti XamlWriter. Dalam hal ini, Anda dapat meneruskan XamlSchemaContext referensi ke semua panggilan sistem jenis XAML yang memerlukan konteks skema XAML.

Satu konstruktor tertentu, XamlMember(String, XamlType, Boolean), tidak memerlukan XamlSchemaContext. Namun, XamlMember yang dibangun dengan XamlMember(String, XamlType, Boolean) tanda tangan mengembalikan true untuk IsUnknown.

Untuk jalur beban yang melibatkan XamlObjectWriter, anggota tersebut tidak dapat ditulis ke dalam grafik objek. Menggunakan implementasi layanan .NET Framework XAML, XamlObjectWriter.WriteStartMember panggilan melemparkan XamlObjectWriterException ketika laporan true yang relevan XamlMember untuk IsUnknown.

Anda tidak boleh membuat XamlMember yang memiliki nilai true untuk IsUnknown kecuali implementasi Anda dapat menangani pengecualian dari XamlObjectWriter, atau Anda memiliki cara lain untuk menyesuaikan XamlObjectWriter perilaku. Misalnya, satu atau beberapa hal berikut mungkin benar tentang implementasi Anda:

Konstruktor

Nama Deskripsi
XamlMember(EventInfo, XamlSchemaContext, XamlMemberInvoker)

Menginisialisasi instans XamlMember baru kelas menggunakan sistem EventInfo jenis CLR dan XamlSchemaContext, termasuk XamlMemberInvoker informasi.

XamlMember(EventInfo, XamlSchemaContext)

Menginisialisasi instans XamlMember baru kelas menggunakan sistem EventInfo jenis CLR dan XamlSchemaContext.

XamlMember(PropertyInfo, XamlSchemaContext, XamlMemberInvoker)

Menginisialisasi instans XamlMember baru kelas menggunakan pantulan PropertyInfo dan XamlSchemaContext, termasuk XamlMemberInvoker informasi.

XamlMember(PropertyInfo, XamlSchemaContext)

Menginisialisasi instans XamlMember baru kelas menggunakan sistem PropertyInfo jenis CLR dan XamlSchemaContext.

XamlMember(String, MethodInfo, MethodInfo, XamlSchemaContext, XamlMemberInvoker)

Menginisialisasi instans XamlMember baru kelas untuk XamlMember yang mewakili properti yang dapat dilampirkan, termasuk XamlMemberInvoker informasi.

XamlMember(String, MethodInfo, MethodInfo, XamlSchemaContext)

Menginisialisasi instans XamlMember baru kelas untuk XamlMember yang mewakili properti yang dapat dilampirkan.

XamlMember(String, MethodInfo, XamlSchemaContext, XamlMemberInvoker)

Menginisialisasi instans XamlMember baru kelas untuk XamlMember yang mewakili peristiwa yang dapat dilampirkan, termasuk XamlMemberInvoker informasi.

XamlMember(String, MethodInfo, XamlSchemaContext)

Menginisialisasi instans XamlMember baru kelas untuk XamlMember yang mewakili peristiwa yang dapat dilampirkan.

XamlMember(String, XamlType, Boolean)

Menginisialisasi instans XamlMember baru kelas menggunakan nama string dan mendeklarasikan XamlType informasi. XamlMember Yang dibangun dengan tanda tangan ini memiliki batasan yang signifikan.

Properti

Nama Deskripsi
DeclaringType

XamlType Mendapatkan untuk jenis yang mendeklarasikan anggota yang terkait dengan ini XamlMember.

DeferringLoader

XamlValueConverter<TConverterBase> Mendapatkan objek, yang digunakan untuk pemuatan objek yang dideklarasikan XAML yang ditangguhkan.

DependsOn

Mendapatkan daftar XamlMember objek. Ini melaporkan anggota di mana hubungan dependensi untuk urutan inisialisasi ada relatif terhadap ini XamlMember.

Invoker

XamlMemberInvoker Mendapatkan implementasi yang terkait dengan ini XamlMember.

IsAmbient

Mendapatkan nilai yang menunjukkan apakah ini XamlMember dilaporkan sebagai properti sekitar.

IsAttachable

Mendapatkan nilai yang menunjukkan apakah ini XamlMember adalah anggota yang dapat dilampirkan.

IsDirective

Mendapatkan nilai yang menunjukkan apakah ini XamlMember adalah arahan XAML.

IsEvent

Mendapatkan nilai yang menunjukkan apakah ini XamlMember mewakili anggota peristiwa.

IsNameValid

Mendapatkan nilai yang menunjukkan apakah ini XamlMember diinisialisasi dengan string yang valid xamlName sebagai Name.

IsReadOnly

Mendapatkan nilai yang menunjukkan apakah ini XamlMember mewakili anggota baca-saja.

IsReadPublic

Mendapatkan nilai yang menunjukkan apakah ini XamlMember mewakili anggota dengan aksesor publik get yang dapat dipanggil.

IsUnknown

Mendapatkan nilai yang menunjukkan apakah anggota tidak dapat diselesaikan oleh sistem pencadangan yang digunakan untuk jenis dan resolusi anggota.

IsWriteOnly

Mendapatkan nilai yang menunjukkan apakah ini XamlMember mewakili anggota tulis-saja.

IsWritePublic

Mendapatkan nilai yang menunjukkan apakah ini XamlMember mewakili anggota yang memiliki aksesor publik set yang dapat dipanggil.

MarkupExtensionBracketCharacters

Menentukan karakter tanda kurung siku pembuka dan penutup untuk ekstensi markup.

Name

xamlName Mendapatkan string nama yang mendeklarasikan ini XamlMember.

PreferredXamlNamespace

Mendapatkan URI namespace XAML tunggal yang mengidentifikasi namespace XAML utama untuk ini XamlMember.

SerializationVisibility

DesignerSerializationVisibility Mendapatkan nilai, yang menunjukkan bagaimana perancang visual harus memproses anggota.

TargetType

XamlType Mendapatkan jenis di mana XamlMember bisa ada.

Type

XamlType Mendapatkan jenis yang digunakan oleh anggota.

TypeConverter

XamlValueConverter<TConverterBase> Mendapatkan objek, yang dapat digunakan untuk konstruksi konversi jenis objek yang dideklarasikan XAML.

UnderlyingMember

Mendapatkan sistem MemberInfo jenis CLR yang tersedia untuk anggota yang dibangun oleh PropertyInfo, , MethodInfoatau EventInfo.

ValueSerializer

XamlValueConverter<TConverterBase> Mendapatkan objek, yang digunakan untuk serialisasi nilai objek yang dideklarasikan XAML.

Metode

Nama Deskripsi
Equals(Object)

Menunjukkan apakah objek saat ini sama dengan objek lain.

Equals(XamlMember)

Menunjukkan apakah objek saat ini sama dengan objek lain dengan jenis yang sama.

GetHashCode()

Mengembalikan kode hash untuk objek ini.

GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
GetXamlNamespaces()

Mengembalikan daftar namespace XAML tempat anggota XAML ini bisa ada.

LookupCustomAttributeProvider()

Saat diimplementasikan dalam kelas turunan ICustomAttributeProvider , mengembalikan implementasi.

LookupDeferringLoader()

Mengembalikan XamlValueConverter<TConverterBase> objek, yang digunakan untuk pemuatan objek yang ditangguhkan dari objek yang dideklarasikan XAML.

LookupDependsOn()

Mengembalikan daftar XamlMember objek. Item dalam daftar melaporkan anggota di mana hubungan dependensi untuk urutan inisialisasi ada relatif terhadap ini XamlMember.

LookupInvoker()

Mengembalikan yang XamlMemberInvoker terkait dengan ini XamlMember.

LookupIsAmbient()

Mengembalikan apakah ini XamlMember dilaporkan sebagai properti sekitar.

LookupIsEvent()

Mengembalikan apakah ini XamlMember mewakili peristiwa.

LookupIsReadOnly()

Mengembalikan apakah ini XamlMember mewakili properti baca-saja yang dimaksudkan.

LookupIsReadPublic()

Mengembalikan apakah ini XamlMember mewakili properti yang memiliki aksesor publik get .

LookupIsUnknown()

Mengembalikan apakah ini XamlMember mewakili anggota yang tidak dapat diselesaikan oleh sistem pencadangan yang digunakan untuk tipe dan resolusi anggota.

LookupIsWriteOnly()

Mengembalikan apakah ini XamlMember mewakili anggota yang memiliki aksesor publik set tetapi bukan aksesor publik get .

LookupIsWritePublic()

Mengembalikan apakah ini XamlMember mewakili anggota yang memiliki aksesor publik set .

LookupMarkupExtensionBracketCharacters()

Mengembalikan karakter tanda kurung siku pembuka dan penutup untuk ekstensi markup.

LookupTargetType()

Mengembalikan XamlType jenis di mana XamlMember bisa ada.

LookupType()

Mengembalikan XamlType tipe yang digunakan oleh anggota.

LookupTypeConverter()

Mengembalikan implementasi pengonversi jenis yang terkait dengan ini XamlMember.

LookupUnderlyingGetter()

Mengembalikan get aksesor yang terkait dengan ini XamlMember.

LookupUnderlyingMember()

Mengembalikan sistem MemberInfo jenis CLR yang terkait dengan ini XamlMember.

LookupUnderlyingSetter()

Mengembalikan set aksesor yang terkait dengan ini XamlMember.

LookupValueSerializer()

Mengembalikan implementasi serializer nilai yang terkait dengan ini XamlMember.

MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
ToString()

Mengembalikan representasi string dari .XamlMember

Operator

Nama Deskripsi
Equality(XamlMember, XamlMember)

Menentukan apakah dua objek yang ditentukan XamlMember memiliki nilai yang sama.

Inequality(XamlMember, XamlMember)

Menentukan apakah dua objek yang ditentukan XamlMember memiliki nilai yang berbeda.

Berlaku untuk

Lihat juga