XamlObjectWriter Sınıf

Tanım

Kaynak XAML düğüm akışından bir nesne grafiği oluşturur.Creates an object graph from a source XAML node stream.

public ref class XamlObjectWriter : System::Xaml::XamlWriter, System::Xaml::IXamlLineInfoConsumer
public class XamlObjectWriter : System.Xaml.XamlWriter, System.Xaml.IXamlLineInfoConsumer
type XamlObjectWriter = class
    inherit XamlWriter
    interface IXamlLineInfoConsumer
Public Class XamlObjectWriter
Inherits XamlWriter
Implements IXamlLineInfoConsumer
Devralma
XamlObjectWriter
Uygulamalar

Açıklamalar

Write XamlObjectWriter XamlObjectWriter Yöntemi tarafından tanımlanan öğesini kullanması için bir model uygulama yöntemleri XamlWriter WriteNode .The Write methods of XamlObjectWriter implement a pattern so that the XamlObjectWriter uses the XamlWriter that is defined by the WriteNode method. WriteNodeWritehangi düğüm türünün Okuyucudaki geçerli konumda olduğuna bağlı olarak Yöntemler arasındaki mantıksal anahtarlar.WriteNode logic switches between the Write methods, depending on which node type is at the current position in the reader.

KapsamScope

, Bir XamlObjectWriter kapsam kavramıdır; diğer bir deyişle, XamlObjectWriter Çıkış nesnesi grafiğinde kavramsal bir başvuru noktası tutar.A XamlObjectWriter has a concept of scope; that is, the XamlObjectWriter maintains a conceptual point of reference in its output object graph. Belirli bir kapsam için belirli işlemler geçerli veya geçersiz olabilir ya da işlem olmayan bir sonuç üretebilir.For a particular scope, certain operations might be valid or invalid, or produce a no-operation result. Örneğin, WriteStartMember bir örnek olarak zaten var olan bir nesne üzerinde başlatma için yazma yönergeleri için çağrı yaparsanız, varsayılan uygulama bir özel durum oluşturur.For example, if you call WriteStartMember to write directives for initialization on an object that already exists as an instance, the default implementation throws an exception.

Bir özel içindeki izleme kapsamını izlemek için olası bir teknik, XamlObjectWriter düğüm eylemlerinin bir yığın veya çerçeve sınıfıyla hizalanmasına yöneliktir.A possible technique for tracking scope in a custom XamlObjectWriter is to align the node actions with a stack or frame class. Yığın veya çerçeve, nesne grafiğini yazarken girilen veya çıkılan her nesne modeli derinliği için push ve pop 'u izleyebilir XamlObjectWriter .The stack or frame can keep track of push and pop for each level of object-model depth that is entered or exited while the XamlObjectWriter writes the object graph.

Geri ÇağırmalarCallbacks

Ara ve gelişmiş senaryoları desteklemek için XamlObjectWriter , bir nesne grafiği yazma mekanizması, bir XamlObjectWriter işlemeler veya belirli eylemleri yürütmek üzere olduğunda gerçekleşen geri çağırma giriş noktaları sağlar.To support intermediate and advanced XamlObjectWriter scenarios, the mechanism of writing an object graph provides callback entry points that occur when a XamlObjectWriter commits or is about to commit certain actions. Bazı geri çağrılar ayarlarda etkindir ve nesne türüne veya yazılan üyeye özgü değildir; Ancak, geri çağırma bilgileri genellikle bağlam içinde kullanılabilir veya geri çağırma aracılığıyla gönderilen olay verileri içinde bulunur.Some callbacks are enabled in the settings and are not specific to the object type or the member being written; however, callback information is often available in context or is in the event data that is sent through the callback. İlgili geri çağırmaların listesi aşağıda verilmiştir:The following is a list of relevant callbacks:

  • Tarafından belirtilen geri çağırma, AfterBeginInitHandler kapsam yeni bir nesneye geçtiğinde ve BeginInit oluşturulan her nesne için nesne ömrü aşamasında çağrılır.The callback that is declared by AfterBeginInitHandler is invoked when the scope goes to a new object and at the BeginInit phase of object lifetime for each created object.

  • Tarafından belirtilen geri çağırma, AfterEndInitHandler kapsam yeni bir nesneye geçtiğinde ve EndInit oluşturulan her nesne için nesne ömrü aşamasında çağrılır.The callback that is declared by AfterEndInitHandler is invoked when the scope goes to a new object and at the EndInit phase of object lifetime for each created object.

  • Tarafından belirtilen geri çağırma, BeforePropertiesHandler kapsam bir nesne içinde başladığında çağrılır ve WriteStartMember Bu nesne kapsamına yapılan ilk çağrı gerçekleştirildiğinde ancak henüz yürütülmediğinde gerçekleşir.The callback that is declared by BeforePropertiesHandler is invoked when the scope starts in an object, and occurs when the first WriteStartMember call to that object scope is made but not yet committed.

  • Tarafından tanımlanan geri çağırma, AfterPropertiesHandler kapsam bir nesne içinde başladığında çağrılır ve WriteEndObject Bu nesne kapsamına yapılan çağrı yapıldığında ancak henüz yürütülmediği zaman gerçekleşir.The callback that is declared by AfterPropertiesHandler is invoked when the scope starts in an object, and happens when the WriteEndObject call to that object scope is made but not yet committed.

  • Tarafından tanımlanan geri çağırma çağrıldığında XamlSetValueHandler çağrılır OnSetValue .The callback that is declared by XamlSetValueHandler is invoked when OnSetValue is called.

Sözlük anahtarları yazmaWriting Dictionary Keys

Varsayılan uygulama, XamlObjectWriter Dictionary<TKey,TValue> Sözlük içerikleri nesne grafiğine eklenmeden önce bir öğesinin kısıtlamalarında tür dönüştürmeyi destekler.The default implementation of XamlObjectWriter supports type conversion on the constraints of a Dictionary<TKey,TValue> before the dictionary contents are added to the object graph. Bu şekilde, genel bir sözlük nesnelere göre çalışma zamanında anahtarlanır ve ilgili genel Add ve Dizin Oluşturucu davranışına uygun olabilir.In this manner, a generic dictionary can be keyed at run time by objects and can match the relevant generic Add and indexer behavior. Ancak, taban için uygulanan şekilde XamlObjectWriter , bu özellik yalnızca temel sınıftan nesne grafik oluşturma için vardır Dictionary<TKey,TValue> ve türetilmiş sınıfları için değildir Dictionary<TKey,TValue> .However, as implemented for the base XamlObjectWriter, this capability exists only for object graph creation from the base Dictionary<TKey,TValue> class and not for derived classes of Dictionary<TKey,TValue>.

Atılmış olup olmadığını denetlerChecks for Disposed

XAML yazarları, ertelenen işlemler için veya geçici olarak atılmış bir XAML yazıcı örneğine bir çağrının yapıldığı durumlarda kullanılır.XAML writers are potentially used for deferred operations or where a call is made against a XAML writer instance that has been disposed in the interim. Bu durumlarda çeşitli API 'Ler XamlObjectWriter oluşturabilir ObjectDisposedException .Various APIs of XamlObjectWriter might throw ObjectDisposedException in these cases.

Oluşturucular

XamlObjectWriter(XamlSchemaContext)

XamlObjectWriterTarafından kullanılan xaml şeması bağlamını kullanarak sınıfının yeni bir örneğini başlatır XamlReader .Initializes a new instance of the XamlObjectWriter class using the XAML schema context that is used by a XamlReader.

XamlObjectWriter(XamlSchemaContext, XamlObjectWriterSettings)

, XamlObjectWriter Ve ayarları tarafından kullanılan bağlamı kullanarak sınıfının yeni bir örneğini başlatır XamlReader .Initializes a new instance of the XamlObjectWriter class using the context that is used by a XamlReader and its settings.

Özellikler

IsDisposed

Dispose(Boolean)Çağrılıp çağrılmadığını alır.Gets whether Dispose(Boolean) has been called.

(Devralındığı yer: XamlWriter)
Result

Yazılan son nesneyi alır.Gets the last object that was written. Genellikle, yalnızca düğüm akışı en sonda ve nesne grafı tamamlandığında çağırılır.Typically only called when the node stream is at its end and the object graph is complete.

RootNameScope

INameScopeXaml nesne yazıcısının mutlak düğüm kökü IÇIN xaml namescope 'ı tutan hizmeti alır.Gets the INameScope service that maintains the XAML namescope for the absolute node root of the XAML object writer.

SchemaContext

Etkin XAML şema bağlamını alır.Gets the active XAML schema context.

ShouldProvideLineInfo

Bir line Information Service 'in değer sağlayıp sağlamamayacağını raporlayan bir değer alır ve bu nedenle, SetLineInfo(Int32, Int32) uygun olduğunda yöntemi de çağırmalıdır.Gets a value that reports whether a line information service should provide values and therefore, should also call the SetLineInfo(Int32, Int32) method when it is relevant.

Yöntemler

Clear()

Olası tüm kareleri sıfırlar ve nesne grafiğini temizler.Resets all possible frames and clears the object graph.

Close()

XAML yazıcı nesnesini kapatır.Closes the XAML writer object.

(Devralındığı yer: XamlWriter)
Dispose(Boolean)

Tarafından kullanılan yönetilmeyen kaynakları serbest bırakır XamlObjectWriter ve isteğe bağlı olarak yönetilen kaynakları serbest bırakır.Releases the unmanaged resources used by the XamlObjectWriter, and optionally, releases the managed resources.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.Determines whether the specified object is equal to the current object.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi olarak işlev görür.Serves as the default hash function.

(Devralındığı yer: Object)
GetType()

TypeGeçerli örneği alır.Gets the Type of the current instance.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli bir basit kopyasını oluşturur Object .Creates a shallow copy of the current Object.

(Devralındığı yer: Object)
OnAfterBeginInit(Object)

AfterBeginInitHandlerBunun için ile ilişkili herhangi bir yöntemi çağırır XamlObjectWriterSettings XamlObjectWriter .Invokes any AfterBeginInitHandler method that is associated with XamlObjectWriterSettings for this XamlObjectWriter.

OnAfterEndInit(Object)

AfterEndInitHandlerBunun için ile ilişkili herhangi bir yöntemi çağırır XamlObjectWriterSettings XamlObjectWriter .Invokes any AfterEndInitHandler method that is associated with XamlObjectWriterSettings for this XamlObjectWriter.

OnAfterProperties(Object)

AfterPropertiesHandlerBu, ile ilişkili tüm başvurulan yöntemleri çağırır XamlObjectWriterSettings XamlObjectWriter .Invokes any AfterPropertiesHandler referenced method that is associated with XamlObjectWriterSettings for this XamlObjectWriter.

OnBeforeProperties(Object)

BeforePropertiesHandlerBu, ile ilişkili tüm başvurulan yöntemleri çağırır XamlObjectWriterSettings XamlObjectWriter .Invokes any BeforePropertiesHandler referenced method that is associated with XamlObjectWriterSettings for this XamlObjectWriter.

OnSetValue(Object, XamlMember, Object)

XamlSetValueHandler XamlObjectWriterSettings Olay verilerinde olduğu sürece, bu yazıcı için ilişkili herhangi bir Başvurulmuş yöntemi çağırır handled XamlSetValueEventArgs true .Invokes any XamlSetValueHandler referenced method that is associated with XamlObjectWriterSettings for this writer, as long as handled in XamlSetValueEventArgs event data is not true.

SetLineInfo(Int32, Int32)

SetLineInfo(Int32, Int32)Özel durumlar için satır bilgilerini uygular ve sağlar.Implements SetLineInfo(Int32, Int32) and provides line information for exceptions.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.Returns a string that represents the current object.

(Devralındığı yer: Object)
WriteEndMember()

Geçerli üye kapsamını kapatır ve kapandığında üye kapsamının değerini yazabilir.Closes the current member scope, and may write the value of the member scope while it closes. Yeni kapsam, üyenin üst nesne kapsamı olur.The new scope becomes the parent object scope of the member.

WriteEndObject()

Yazıcı 'daki geçerli nesne kapsamını kapatır.Closes the current object scope in the writer. Yeni nesne kapsamı üst üye kapsamı olur.The new object scope becomes the parent member scope.

WriteGetObject()

StartObjectBelirtilen nesne, üst özelliğin varsayılan veya örtük bir değeri olduğunda, kavram nesnesini nesne grafiğine yazar.Writes the conceptual StartObject into the object graph when the specified object is a default or implicit value of the parent property. Örtülü değer, XAML şema bağlamından elde edilen bilgilerden ve giriş XAML düğüm kümesinde bir nesne değeri olarak belirtilmeden tür bilgilerinin yedeklenmesinden gelir.The implicit value comes from information that is obtained from the XAML schema context and backing type information, instead of being specified as an object value in the input XAML node set.

WriteNamespace(NamespaceDeclaration)

Sonraki nesne kapsamı veya üye kapsamı için geçerli olan bir ad alanı bildirimini tanımlar.Defines a namespace declaration that applies to the next object scope or member scope.

WriteNode(XamlReader)

XAML okuyucudan () düğüm türüne göre geçiş gerçekleştirir NodeType ve Write Yazıcı uygulamasının ilgili yöntemini çağırır.Performs switching based on node type from the XAML reader (NodeType) and calls the relevant Write method for the writer implementation.

(Devralındığı yer: XamlWriter)
WriteStartMember(XamlMember)

Geçerli nesne kapsamına yeni bir üye düğümü yazar ve kapsam yeni bir üye kapsamı haline gelir.Writes a new member node into the current object scope, and the scope becomes a new member scope.

WriteStartObject(XamlType)

Geçerli kapsama bir nesne düğümü yazar ve kapsamı yeni bir nesne kapsamına ayarlar.Writes an object node into the current scope, and sets the scope to a new object scope.

WriteValue(Object)

Geçerli üye kapsamına bir değer yazar.Writes a value to the current member scope. Geçerli kapsam bir koleksiyon, sözlük veya dizi nesnesi içindeyse, değer koleksiyon, sözlük veya diziye eklenmelidir.If the current scope is inside a collection, dictionary, or array object, the value should be added to the collection, dictionary, or array.

Belirtik Arabirim Kullanımları

IDisposable.Dispose()

Bkz. Dispose().See Dispose().

(Devralındığı yer: XamlWriter)

Şunlara uygulanır

Ayrıca bkz.