IHierarchyData.GetParent 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得 IHierarchyData 一個物件,代表當前階層節點的父節點。
public:
System::Web::UI::IHierarchyData ^ GetParent();
public System.Web.UI.IHierarchyData GetParent();
abstract member GetParent : unit -> System.Web.UI.IHierarchyData
Public Function GetParent () As IHierarchyData
傳回
一個 IHierarchyData 代表當前階層節點父節點的物件。
範例
以下程式碼範例示範如何在實作GetParent介面的類別中實作該IHierarchyData方法。 類別 FileSystemHierarchyData 會包裹物件 FileSystemInfo ,方法實 GetParent 作會檢查物件 FileSystemInfo 的型別,並根據該類型回傳適當的父物件。 此程式碼範例是為介面與IHierarchyData類別提供HierarchicalDataSourceControl較大範例的一部分。
public IHierarchicalEnumerable GetChildren()
{
FileSystemHierarchicalEnumerable children =
new FileSystemHierarchicalEnumerable();
if (typeof(DirectoryInfo) == fileSystemObject.GetType())
{
DirectoryInfo temp = (DirectoryInfo)fileSystemObject;
foreach (FileSystemInfo fsi in temp.GetFileSystemInfos())
{
children.Add(new FileSystemHierarchyData(fsi));
}
}
return children;
}
public IHierarchyData GetParent()
{
FileSystemHierarchicalEnumerable parentContainer =
new FileSystemHierarchicalEnumerable();
if (typeof(DirectoryInfo) == fileSystemObject.GetType())
{
DirectoryInfo temp = (DirectoryInfo)fileSystemObject;
return new FileSystemHierarchyData(temp.Parent);
}
else if (typeof(FileInfo) == fileSystemObject.GetType())
{
FileInfo temp = (FileInfo)fileSystemObject;
return new FileSystemHierarchyData(temp.Directory);
}
// If FileSystemObj is any other kind of FileSystemInfo, ignore it.
return null;
}
Public Overridable Function GetChildren() _
As IHierarchicalEnumerable _
Implements IHierarchyData.GetChildren
Dim children As New FileSystemHierarchicalEnumerable()
If GetType(DirectoryInfo) Is fileSystemObject.GetType() Then
Dim temp As DirectoryInfo = _
CType(fileSystemObject, DirectoryInfo)
Dim fsi As FileSystemInfo
For Each fsi In temp.GetFileSystemInfos()
children.Add(New FileSystemHierarchyData(fsi))
Next fsi
End If
Return children
End Function 'GetChildren
Public Overridable Function GetParent() As IHierarchyData _
Implements IHierarchyData.GetParent
Dim parentContainer As New FileSystemHierarchicalEnumerable()
If GetType(DirectoryInfo) Is fileSystemObject.GetType() Then
Dim temp As DirectoryInfo = _
CType(fileSystemObject, DirectoryInfo)
Return New FileSystemHierarchyData(temp.Parent)
ElseIf GetType(FileInfo) Is fileSystemObject.GetType() Then
Dim temp As FileInfo = CType(fileSystemObject, FileInfo)
Return New FileSystemHierarchyData(temp.Directory)
End If
' If FileSystemObj is any other kind of FileSystemInfo, ignore it.
Return Nothing
End Function 'GetParent
End Class
備註
該IHierarchyData介面未定義 HasParent 便利性,因此呼叫者必須檢查方法的GetParent回傳值null,以判斷當前IHierarchyData節點是否為該節點所屬階層式資料結構的根節點。