XamlXmlWriter Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menggunakan kelas dukungan TextWriter atau XmlWriter untuk menulis aliran simpul XAML ke formulir serial teks atau markup.
public ref class XamlXmlWriter : System::Xaml::XamlWriter
public class XamlXmlWriter : System.Xaml.XamlWriter
type XamlXmlWriter = class
inherit XamlWriter
Public Class XamlXmlWriter
Inherits XamlWriter
- Warisan
Keterangan
Kelas ini biasanya digunakan dalam skenario serialisasi.
Cara Menggunakan XamlXmlWriter
API XamlWriter memiliki beberapa metode yang menulis berbagai jenis simpul XAML. Secara kolektif, ini disebut dalam dokumentasi sebagai metode Write
dari XamlWriter.
XamlXmlWriter menggunakan beberapa kelas status internal untuk menentukan apa yang harus dilakukan ketika salah satu implementasi Write
dipanggil. Panggilan Write
menggunakan status untuk menentukan apakah elemen, atribut, atau nilai yang diminta dapat ditulis, atau apakah pengecualian dilemparkan. Misalnya, jika Anda memanggil WriteEndObject dan status posisi simpul saat ini XamlXmlWriter berada pada nilai atau dalam anggota, pengecualian akan dilemparkan. Biasanya, penelepon API XamlXmlWriter harus mengetahui jenis node XAML saat ini yang berasal dari pembaca XAML dan aliran simpul XAML. Berdasarkan pengetahuan ini, penelepon harus menghindari panggilan Write
API yang tidak relevan dengan jenis node saat ini.
Namespace XAML dan XamlXmlWriter
Perilaku penulisan namespace XAML XamlXmlWriter rumit dan tidak terbatas pada panggilan eksplisit ke WriteNamespace. Sebaliknya, panggilan Write
lainnya, seperti WriteStartObject, mungkin mengharuskan deklarasi namespace ditulis pada titik tertentu dalam struktur simpul. Penulis XAML menghasilkan awalan dengan logikanya sendiri, atau menggunakan informasi dari layanan INamespacePrefixLookup untuk menentukan awalan pilihan. Selain itu, panggilan WriteNamespace eksplisit mungkin menunggak atau mungkin tidak mengembalikan apa pun jika deklarasi namespace XAML sudah berlaku dan dinyatakan di tempat lain.
Tulis Pengecualian Metode
Pengecualian yang dilemparkan oleh metode XamlXmlWriterWrite
biasanya InvalidOperationException atau XamlXmlWriterException.
InvalidOperationException sering menunjukkan bahwa pembaca XAML meneruskan struktur simpul yang tidak valid ke aliran simpul XAML. Dalam hal ini struktur simpul tidak valid karena alasan yang tidak terkait dengan validasi skema XAML atau konteks skema XAML. Sebaliknya, aliran simpul tidak valid dalam bentuk dasarnya. Misalnya, jika implementasi pembaca XAML yang rusak menghasilkan aliran simpul XAML yang berisi dua simpul StartObject
berturut-turut, upaya untuk memanggil WriteStartObject kedua akan melemparkan InvalidOperationException. Semua penulis XAML akan menganggap operasi seperti itu tidak valid. Contoh lain dari InvalidOperationException adalah ketika informasi namespace XAML tidak tersedia melalui konteks skema XAML yang berlaku untuk posisi aliran simpul saat ini.
XamlXmlWriterException menunjukkan pengecualian di mana implementasi penulis XAML khusus ini memilih untuk melemparkan pengecualian berdasarkan fungsionalitas yang dimaksudkan. XamlXmlWriterException dapat menunjukkan kasus tertentu di mana XamlXmlWriter melanggar status atau pengaturannya sendiri. Misalnya, XamlXmlWriterException mungkin dihasilkan dari upaya untuk menulis informasi namespace XAML ke dalam posisi yang tidak didukung XamlXmlWriter dan format serialisasinya, atau menulis anggota duplikat saat instans XamlXmlWriterSettings melarangnya.
Konstruktor
XamlXmlWriter(Stream, XamlSchemaContext) |
Menginisialisasi instans baru kelas XamlXmlWriter dari aliran. |
XamlXmlWriter(Stream, XamlSchemaContext, XamlXmlWriterSettings) |
Menginisialisasi instans baru kelas XamlXmlWriter dari aliran menggunakan objek pengaturan penulis. |
XamlXmlWriter(TextWriter, XamlSchemaContext) |
Menginisialisasi instans baru kelas XamlXmlWriter dari dasar TextWriter. |
XamlXmlWriter(TextWriter, XamlSchemaContext, XamlXmlWriterSettings) |
Menginisialisasi instans baru kelas XamlXmlWriter dari dasar TextWriter menggunakan objek pengaturan. |
XamlXmlWriter(XmlWriter, XamlSchemaContext) |
Menginisialisasi instans baru kelas XamlXmlWriter dari dasar XmlWriter. |
XamlXmlWriter(XmlWriter, XamlSchemaContext, XamlXmlWriterSettings) |
Menginisialisasi instans baru kelas XamlXmlWriter dari dasar XmlWriter menggunakan objek pengaturan. |
Properti
IsDisposed |
Mendapatkan apakah Dispose(Boolean) telah dipanggil. (Diperoleh dari XamlWriter) |
SchemaContext |
Mendapatkan konteks skema XAML yang digunakan XamlXmlWriter ini untuk diproses. |
Settings |
Mendapatkan pengaturan penulis yang digunakan XamlXmlWriter ini untuk pemrosesan XAML. |
Metode
Close() |
Menutup objek penulis XAML. (Diperoleh dari XamlWriter) |
Dispose(Boolean) |
Merilis sumber daya yang tidak dikelola yang digunakan oleh XamlXmlWriter dan secara opsional merilis sumber daya terkelola. |
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
Flush() |
Memanggil metode |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
WriteEndMember() |
Menulis simpul anggota akhir XAML ke XmlWriter atau TextWriteryang mendasar. Memberikan pengecualian jika posisi aliran simpul XAML saat ini tidak berada dalam anggota, atau jika status penulis internal tidak mendukung penulisan kepada anggota akhir. |
WriteEndObject() |
Menulis simpul objek akhir XAML ke XmlWriter atau TextWriteryang mendasar. Memberikan pengecualian jika posisi aliran simpul XAML saat ini yang sedang diproses tidak kompatibel dengan penulisan objek akhir. |
WriteGetObject() |
Menulis objek untuk kasus di mana objek yang ditentukan adalah nilai default atau implisit dari properti yang sedang ditulis, alih-alih ditentukan sebagai nilai objek dalam set simpul XAML input. |
WriteNamespace(NamespaceDeclaration) |
Menulis informasi namespace layanan ke XmlWriter atau TextWriteryang mendasar. Dapat melemparkan pengecualian untuk keadaan tertentu; namun, dapat menunda penulisan informasi namespace sampai penulis dan aliran simpul XAML yang sedang diproses mencapai posisi di mana deklarasi namespace XAML dapat dimasukkan. |
WriteNode(XamlReader) |
Melakukan peralihan berdasarkan jenis node dari pembaca XAML (NodeType) dan memanggil metode |
WriteStartMember(XamlMember) |
Menulis simpul anggota mulai XAML ke XmlWriter atau TextWriteryang mendasar. Memberikan pengecualian jika posisi aliran simpul XAML saat ini berada dalam anggota lain, atau jika tidak berada dalam cakupan atau status penulis di mana anggota mulai dapat ditulis. |
WriteStartObject(XamlType) |
Menulis simpul objek mulai XAML ke XmlWriter atau TextWriteryang mendasar. Melempar pengecualian jika posisi aliran simpul XAML saat ini tidak berada dalam cakupan di mana objek mulai dapat ditulis, atau jika penulis tidak dalam keadaan yang dapat menulis objek mulai. |
WriteValue(Object) |
Menulis simpul nilai XAML ke XmlWriter atau TextWriteryang mendasar. Melemparkan pengecualian jika posisi aliran simpul XAML saat ini tidak valid untuk menulis nilai, atau penulis berada dalam status di mana nilai tidak dapat ditulis. |
Implementasi Antarmuka Eksplisit
IDisposable.Dispose() |
Lihat Dispose(). (Diperoleh dari XamlWriter) |