IHierarchyData.Item Özellik
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.
Nesnenin temsil ettiğini hiyerarşik veri düğümünü IHierarchyData alır.
public:
property System::Object ^ Item { System::Object ^ get(); };
public object Item { get; }
member this.Item : obj
Public ReadOnly Property Item As Object
Özellik Değeri
Object Hiyerarşik veri düğümü nesnesi.
Örnekler
Aşağıdaki kod örneği özelliklere nasıl erişebileceğinizi IHierarchyData , özelliğini kullanarak bir IHierarchyData nesnenin türünü denetlemeyi Type ve türüne özgü daha fazla işlem gerçekleştirmek için nesneyi atamayı gösterir. Bu kod örneği, arabirim için IHierarchyData sağlanan daha büyük bir örneğin parçasıdır.
// Print out the current data node, then iterate through its
// children and do the same.
private void PrintFullChildNodeInfo(IHierarchyData node)
{
string whitespace = " ";
string br = "<BR>";
Response.Write(node.ToString() + br);
Response.Write(whitespace + node.Path + br);
// Check for specific types and perform extended functions.
if (node.Type == "SiteMapNode")
{
// Because SiteMapNode implements the IHierarchyData interface,
// the IHierarchyData object can be cast directly as a SiteMapNode,
// rather than accessing the Item property for the object that
// the Type property identifies.
SiteMapNode siteNode = node.Item as SiteMapNode;
Response.Write(whitespace + siteNode.Url + br);
Response.Write(whitespace + siteNode.Description + br);
}
else if (node.Type == "SomeBusinessObject")
{
// If the IHierarchyData instance is a wrapper class on a business
// object of some kind, you can retrieve the business object by using
// the IHierarchyData.Item property.
// SomeBusinessObject busObj = node.Item as SomeBusinessObject;
}
if (node.HasChildren)
{
IEnumerator children = ((IHierarchicalEnumerable)node.GetChildren()).GetEnumerator();
while (children.MoveNext())
{
// Print out SiteMapNode Titles recursively.
IHierarchyData hierarchicalNode = node.GetChildren().GetHierarchyData(children.Current);
PrintFullChildNodeInfo(hierarchicalNode);
}
}
}
' Print out the current data node, then iterate through its
' children and do the same.
Private Sub PrintFullChildNodeInfo(ByVal node As IHierarchyData)
Dim whitespace As String = " "
Dim br As String = "<BR>"
Response.Write(Convert.ToString(node) & br)
Response.Write(whitespace & node.Path & br)
' Check for specific types and perform extended functions.
If node.Type = "SiteMapNode" Then
' Because SiteMapNode implements the IHierarchyData interface,
' the IHierarchyData object can be cast directly as a SiteMapNode,
' rather than accessing the Item property for the object that
' the Type property identifies.
Dim siteNode As SiteMapNode = CType(node.Item, SiteMapNode)
Response.Write(whitespace & siteNode.Url & br)
Response.Write(whitespace & siteNode.Description & br)
ElseIf node.Type = "SomeBusinessObject Then" Then
' If the IHierarchyData instance is a wrapper class on a business
' object of some kind, you can retrieve the business object by using
' the IHierarchyData.Item property.
' SomeBusinessObject busObj = node.Item as SomeBusinessObject;
End If
If node.HasChildren Then
Dim children As IEnumerator = CType(node.GetChildren().GetEnumerator(), IHierarchicalEnumerable)
While children.MoveNext()
' Print out SiteMapNode Titles recursively.
Dim hierarchicalNode As IHierarchyData = node.GetChildren().GetHierarchyData(children.Current)
PrintFullChildNodeInfo(hierarchicalNode)
End While
End If
End Sub
Açıklamalar
sınıfı gibi SiteMapNode hiyerarşik veri düğümlerini temsil eden birçok sınıf arabirimi doğrudan uygularken IHierarchyData , diğer sınıflar yalnızca arabirimi uygulamayan bir sınıf için sarmalayıcı görevi görür. özelliği, iş nesnelerinin Item işlevsel olarak bir IHierarchyData nesneye eşdeğer olduğu ancak kolayca yeniden tasarlanamadığı bu tasarım durumları için sağlanır.