XamlReader.ReadSubtree メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在の XamlReader に基づく XamlReader を返します。返された XamlReader は、XAML ノード構造のサブツリーでの反復処理に使用されます。
public:
virtual System::Xaml::XamlReader ^ ReadSubtree();
public virtual System.Xaml.XamlReader ReadSubtree ();
abstract member ReadSubtree : unit -> System.Xaml.XamlReader
override this.ReadSubtree : unit -> System.Xaml.XamlReader
Public Overridable Function ReadSubtree () As XamlReader
戻り値
サブツリーの新しい XAML リーダー インスタンス。
注釈
このメソッドには既定の実装があり、有効 XamlReaderな を返します。 返される XamlReader は、特定 XamlReader のアクションを制限する内部クラスです。 この制限は、XAML ノード セットの大きなソースのディメンション付きサブツリーのみを読み取り、サブツリーが終了したときにファイルの終わりまたは null
現在のノードで返す目的と一致します。
一般に、サブツリー リーダーが必要かどうかを判断するには、最初 Read から現在のノードを確認する必要があります。 これを確認する方法は実装固有である可能性があります。ただし、すべてのサブツリーに対して複数のサブツリー リーダーを作成することは避けてください。 さらに、ノードのサブツリーを含むことができない特定のノード ケース (たとえば、 NamespaceDeclarationなど) に対してサブツリー リーダーを呼び出さないようにします。
サブツリー リーダーを取得した後は、 を呼び出 Read して現在のノードを取得する (または を呼び出 Skip して次のノードを取得する) 必要があります。 作成時にサブツリー リーダーから最初のノード位置を自動的に取得することはありません。
この既定の実装から を呼び出 ReadSubtree して取得するリーダーは、内部クラスです。 内部クラスは、 が呼び出されたときにReadSubtree使用される実装に基XamlReaderづいて動作します。 内部クラスの目的は、 と 一般的なトラバーサル動作を Read ラップすることです。 トラバーサルは、ペアまたはEndObjectStartObject/ペアを追跡することで、目的のStartMember/EndMemberサブツリー内にとどまります。 また、エントリ ポイントで定義されているように、リーダーがサブツリーの末尾にあると きの と も正しく返 false
Readtrue
IsEof されます。 一般に、サブツリー リーダーから呼び出す XamlReader API は、トラバーサル境界動作を除き、 全体 XamlReader と同じ実装を持つものとします。
ただし、 ReadSubtree は仮想です。 したがって、特定 XamlReader の実装では、内部ラッパーの動作とは異なる動作を XamlReader 提供できます。また、 XamlReader 実装では、 またはその他の例外を返すことによってサブツリー リーダー機能を NotImplementedException 無効にすることもできます。
適用対象
.NET