XamlXmlWriter 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.
Bir metin veya işaretleme serileştirilmiş formuna XAML düğümü akışı yazmak için bir TextWriter veya XmlWriter destek sınıfı kullanır.
public ref class XamlXmlWriter : System::Xaml::XamlWriter
public class XamlXmlWriter : System.Xaml.XamlWriter
type XamlXmlWriter = class
inherit XamlWriter
Public Class XamlXmlWriter
Inherits XamlWriter
- Devralma
Açıklamalar
Bu sınıf genellikle serileştirme senaryolarında kullanılır.
XamlXmlWriter Kullanma
XamlWriter API'sinde farklı türlerde XAML düğümleri yazan çeşitli yöntemler vardır. Bunlar, belgelerde toplu olarak bir XamlWriterWrite
yöntemleri olarak adlandırılır.
XamlXmlWriter, Write
uygulamalarından biri çağrıldığında ne yapacağını belirlemek için birkaç iç durum sınıfı kullanır.
Write
çağrısı, istenen öğenin, özniteliğin veya değerin yazılıp yazılamayacağını veya bir özel durum oluşturulup oluşturulmayacağını belirlemek için durumları kullanır. Örneğin, WriteEndObject çağırırsanız ve geçerli XamlXmlWriter düğüm konumunun durumu bir değerde veya üye içindeyse, bir özel durum oluşturulur. Genellikle, XamlXmlWriter API'sini çağıranların XAML okuyucusu ve XAML düğümü akışından gelen geçerli XAML düğümünün türünü bilmesi gerekir. Bu bilgiye bağlı olarak, arayanlar geçerli düğüm türüyle ilgili olmayan Write
API'leri çağırmaktan kaçınmalıdır.
XAML Ad Alanları ve XamlXmlWriter
XamlXmlWriter XAML ad alanı yazma davranışı karmaşıktır ve WriteNamespaceaçık çağrıları ile sınırlı değildir. Bunun yerine, WriteStartObjectgibi diğer Write
çağrıları, düğüm yapısının belirli noktalarında ad alanı bildiriminin yazılması gerektirebilir. XAML yazıcısı kendi mantığıyla bir ön ek oluşturur veya tercih edilen ön eki belirlemek için INamespacePrefixLookup hizmetindeki bilgileri kullanır. Ayrıca, açık WriteNamespace çağrıları erteleyebilir veya XAML ad alanı bildirimi zaten geçerliyse ve başka bir yerde bildirilirse hiçbir şey döndürmeyebilir.
Yazma Yöntemi Özel Durumları
XamlXmlWriter
Write
yöntemleri tarafından oluşan özel durumlar genellikle InvalidOperationException veya XamlXmlWriterException.
InvalidOperationException genellikle bir XAML okuyucusunun XAML düğüm akışına geçersiz bir düğüm yapısı geçirildiğini gösterir. Bu durumda düğüm yapısı, XAML şemasının veya XAML şema bağlamının doğrulanmasıyla ilgili olmayan nedenlerle geçersizdir. Bunun yerine, düğüm akışı temel biçiminde geçersizdir. Örneğin, hatalı bir XAML okuyucu uygulaması ardışık iki StartObject
düğümü içeren bir XAML düğüm akışı oluşturduysa, ikinci WriteStartObject çağırma girişimi bir InvalidOperationExceptionoluşturur. Tüm XAML yazarları böyle bir işlemi geçersiz olarak değerlendirir. bir InvalidOperationException başka bir örneği, geçerli düğüm akış konumuna uygulanan XAML şema bağlamı aracılığıyla XAML ad alanı bilgilerinin kullanılamadığı durumlardır.
XamlXmlWriterException, bu belirli XAML yazıcı uygulamasının amaçlanan işlevselliğine göre özel durum oluşturmayı seçtiği bir özel durumu gösterir. XamlXmlWriterException, bir XamlXmlWriter kendi durumunu veya ayarlarını ihlal ettiği belirli durumları gösterebilir. Örneğin, bir XamlXmlWriterException XAML ad alanı bilgilerini XamlXmlWriter ve serileştirme biçiminin desteklemediği bir konuma yazma denemelerinden veya örneğin XamlXmlWriterSettings yasakladığında yinelenen üyeler yazma girişimlerinden kaynaklanabilir.
Oluşturucular
XamlXmlWriter(Stream, XamlSchemaContext) |
Bir akıştan XamlXmlWriter sınıfının yeni bir örneğini başlatır. |
XamlXmlWriter(Stream, XamlSchemaContext, XamlXmlWriterSettings) |
Yazıcı ayarları nesnesini kullanarak bir akıştan XamlXmlWriter sınıfının yeni bir örneğini başlatır. |
XamlXmlWriter(TextWriter, XamlSchemaContext) |
XamlXmlWriter sınıfının yeni bir örneğini TextWriter temelinde başlatır. |
XamlXmlWriter(TextWriter, XamlSchemaContext, XamlXmlWriterSettings) |
Ayarlar nesnesini kullanarak XamlXmlWriter sınıfının yeni bir örneğini TextWriter temelinde başlatır. |
XamlXmlWriter(XmlWriter, XamlSchemaContext) |
XamlXmlWriter sınıfının yeni bir örneğini XmlWriter temelinde başlatır. |
XamlXmlWriter(XmlWriter, XamlSchemaContext, XamlXmlWriterSettings) |
Ayarlar nesnesini kullanarak XamlXmlWriter sınıfının yeni bir örneğini XmlWriter temelinde başlatır. |
Özellikler
IsDisposed |
Dispose(Boolean) çağrılıp çağrılmadığını alır. (Devralındığı yer: XamlWriter) |
SchemaContext |
Bu XamlXmlWriter işleme için kullandığı XAML şema bağlamını alır. |
Settings |
Bu XamlXmlWriter XAML işleme için kullandığı yazıcı ayarlarını alır. |
Yöntemler
Close() |
XAML yazıcı nesnesini kapatır. (Devralındığı yer: XamlWriter) |
Dispose(Boolean) |
XamlXmlWriter tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları serbest bırakır. |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
Flush() |
Temel alınan XmlWriter veya TextWriter |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |
WriteEndMember() |
Temel XmlWriter veya TextWriterbir XAML son üye düğümü yazar. XAML düğüm akışının geçerli konumu bir üye içinde değilse veya iç yazıcı durumu son üyeye yazmayı desteklemiyorsa bir özel durum oluşturur. |
WriteEndObject() |
Temel XmlWriter veya TextWriterbir XAML uç nesne düğümü yazar. İşlenen XAML düğüm akışının geçerli konumu bir bitiş nesnesi yazma ile uyumsuzsa bir özel durum oluşturur. |
WriteGetObject() |
Belirtilen nesnenin, giriş XAML düğüm kümesinde nesne değeri olarak belirtilmemiş olarak yazılmakta olan özelliğin varsayılan veya örtük değeri olduğu durumlar için bir nesne yazar. |
WriteNamespace(NamespaceDeclaration) |
Ad alanı bilgilerini temel XmlWriter veya TextWriteryazar. Belirli durumlar için bir özel durum oluşturabilir; ancak, yazar ve işlenen XAML düğüm akışı bir XAML ad alanı bildiriminin eklenebileceği bir konuma ulaşana kadar ad alanı bilgilerini yazmayı erteleyebilir. |
WriteNode(XamlReader) |
XAML okuyucudan (NodeType) düğüm türüne göre geçiş gerçekleştirir ve yazıcı uygulaması için ilgili |
WriteStartMember(XamlMember) |
Temel XmlWriter veya TextWriterbir XAML başlangıç üyesi düğümü yazar. XAML düğüm akışının geçerli konumu başka bir üye içindeyse veya başlangıç üyesinin yazılabileceği bir kapsam veya yazıcı durumunda değilse bir özel durum oluşturur. |
WriteStartObject(XamlType) |
Temel XmlWriter veya TextWriterbir XAML başlangıç nesnesi düğümü yazar. XAML düğüm akışının geçerli konumu başlangıç nesnesinin yazılabileceği bir kapsamda değilse veya yazıcı bir başlangıç nesnesi yazabilecek durumda değilse bir özel durum oluşturur. |
WriteValue(Object) |
Temel XmlWriter veya TextWriterbir XAML değer düğümü yazar. XAML düğümü akışının geçerli konumu bir değer yazmak için geçersizse veya yazıcı bir değerin yazılamadığı bir durumdaysa bir özel durum oluşturur. |
Belirtik Arabirim Kullanımları
IDisposable.Dispose() |
Bkz. Dispose(). (Devralındığı yer: XamlWriter) |