다음을 통해 공유


IHierarchyData.GetParent 메서드

정의

현재 계층적 노드의 부모 노드를 나타내는 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

현재 계층적 노드의 부모 노드를 나타내는 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 노드는 계층적 데이터의 루트 노드 노드가 속해 있는 구조체입니다.

적용 대상

추가 정보