SiteMapProvider.GetChildNodes メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > SiteMapProvider.GetChildNodes メソッドの意味・解説 

SiteMapProvider.GetChildNodes メソッド

メモ : このメソッドは、.NET Framework version 2.0 で新しく追加されたものです。

派生クラスでオーバーライドされた場合は、特定の SiteMapNode の子ノードを取得します。

名前空間: System.Web
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public MustOverride Function
 GetChildNodes ( _
    node As SiteMapNode _
) As SiteMapNodeCollection
Dim instance As SiteMapProvider
Dim node As SiteMapNode
Dim returnValue As SiteMapNodeCollection

returnValue = instance.GetChildNodes(node)
public abstract SiteMapNodeCollection GetChildNodes (
    SiteMapNode node
)
public:
virtual SiteMapNodeCollection^ GetChildNodes (
    SiteMapNode^ node
) abstract
public abstract SiteMapNodeCollection GetChildNodes (
    SiteMapNode node
)
public abstract function GetChildNodes (
    node : SiteMapNode
) : SiteMapNodeCollection

パラメータ

node

すべての子ノードを取得する対象の SiteMapNode。

戻り値
指定した SiteMapNode の直接の子ノードが格納されている読み取り専用の SiteMapNodeCollection。子ノードが存在しない場合は、null 参照 (Visual Basic では Nothing) または空のコレクション。

解説解説
使用例使用例

SiteMapProvider 抽象クラスを実装するクラスに GetChildNodes メソッドを実装する方法を次のコード例に示します。SimpleTextSiteMapProvider は、親子関係の階層とすべての SiteMapNode オブジェクトとを、それぞれ別個の Hashtable オブジェクトに格納します。GetChildNodes メソッドは、両方の ArrayList オブジェクトを使用して逆検索を実行します。

このコード例は、SiteMapProvider クラスのトピックで取り上げているコード例の一部分です。

' Implement the GetChildNodes method.
Public Overrides Function
 GetChildNodes(ByVal node As SiteMapNode)
 As SiteMapNodeCollection
  Dim children As New SiteMapNodeCollection()
  ' Iterate through the ArrayList and find all nodes that have the specified
 node as a parent.
  SyncLock Me
    Dim i As Integer
    For i = 0 To childParentRelationship.Count
 - 1

      Dim de As DictionaryEntry = CType(childParentRelationship(i),
 DictionaryEntry)
      Dim nodeUrl As String
 = CType(de.Key, String)

      Dim parent As SiteMapNode = GetNode(childParentRelationship,
 nodeUrl)

      If Not (parent Is
 Nothing) AndAlso node.Url = parent.Url Then
        ' The SiteMapNode with the Url that corresponds to nodeUrl
        ' is a child of the specified node. Get the SiteMapNode for
        ' the nodeUrl.
        Dim child As SiteMapNode = FindSiteMapNode(nodeUrl)
        If Not (child Is
 Nothing) Then
          children.Add(CType(child, SiteMapNode))
        Else
          Throw New Exception("ArrayLists
 not in sync.")
        End If
      End If
    Next i
  End SyncLock
  Return children
End Function 'GetChildNodes

Protected Overrides Function
 GetRootNodeCore() As SiteMapNode
  Return RootNode
End Function ' GetRootNodeCore()

' Implement the GetParentNode method.
Public Overrides Function
 GetParentNode(ByVal node As SiteMapNode)
 As SiteMapNode
  ' Check the childParentRelationship table and find the parent of the
 current node.
  ' If there is no parent, the current node is the RootNode.
  Dim parent As SiteMapNode = Nothing
  SyncLock Me
    ' Get the Value of the node in childParentRelationship
    parent = GetNode(childParentRelationship, node.Url)
  End SyncLock
  Return parent
End Function 'GetParentNode
// Implement the GetChildNodes method.
public override SiteMapNodeCollection GetChildNodes(SiteMapNode
 node)
{
  SiteMapNodeCollection children = new SiteMapNodeCollection();
  // Iterate through the ArrayList and find all nodes that have the
 specified node as a parent.
  lock (this)
  {
    for (int i = 0; i < childParentRelationship.Count;
 i++)
    {

      string nodeUrl = ((DictionaryEntry)childParentRelationship[i]).Key
 as string;

      SiteMapNode parent = GetNode(childParentRelationship, nodeUrl);

      if (parent != null && node.Url
 == parent.Url)
      {
        // The SiteMapNode with the Url that corresponds to nodeUrl
        // is a child of the specified node. Get the SiteMapNode for
        // the nodeUrl.
        SiteMapNode child = FindSiteMapNode(nodeUrl);
        if (child != null)
        {
          children.Add(child as SiteMapNode);
        }
        else
        {
          throw new Exception("ArrayLists not in
 sync.");
        }
      }
    }
  }
  return children;
}
protected override SiteMapNode GetRootNodeCore()
{
  return RootNode;
}
// Implement the GetParentNode method.
public override SiteMapNode GetParentNode(SiteMapNode node)
{
  // Check the childParentRelationship table and find the parent of
 the current node.
  // If there is no parent, the current node is the RootNode.
  SiteMapNode parent = null;
  lock (this)
  {
    // Get the Value of the node in childParentRelationship
    parent = GetNode(childParentRelationship, node.Url);
  }
  return parent;
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SiteMapProvider クラス
SiteMapProvider メンバ
System.Web 名前空間
GetParentNode



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「SiteMapProvider.GetChildNodes メソッド」の関連用語

SiteMapProvider.GetChildNodes メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SiteMapProvider.GetChildNodes メソッドのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS