SiteMapProvider.RootProvider 속성
정의
현재 공급자 계층 구조의 루트 SiteMapProvider 개체를 가져옵니다.Gets the root SiteMapProvider object in the current provider hierarchy.
public:
virtual property System::Web::SiteMapProvider ^ RootProvider { System::Web::SiteMapProvider ^ get(); };
public virtual System.Web.SiteMapProvider RootProvider { get; }
member this.RootProvider : System.Web.SiteMapProvider
Public Overridable ReadOnly Property RootProvider As SiteMapProvider
속성 값
현재 공급자가 속하는 공급자 계층 구조에서 최상위 사이트 맵 공급자에 해당하는 SiteMapProvider입니다.An SiteMapProvider that is the top-level site map provider in the provider hierarchy that the current provider belongs to.
예외
현재 사이트 맵 공급자에 대한 순환 참조가 있는 경우There is a circular reference to the current site map provider.
예제
다음 코드 예제를 구현 하는 방법에 설명 합니다 RootProvider 를 구현 하는 클래스의 속성에서에서 SiteMapProvider 클래스입니다.The following code example demonstrates how to implement the RootProvider property in a class that implements the abstract SiteMapProvider class. SimpleTextSiteMapProvider
간단한 논리를 사용 하 여 현재 공급자는 공급자 계층의 일부 인지 여부를 확인 합니다.The SimpleTextSiteMapProvider
uses simple logic to determine whether the current provider is part of a provider hierarchy. 사용 하 여 공급자 계층 구조의 일부 이면는 RootProvider 부모 공급자 자체에 대 한 속성입니다.If the provider is part of a hierarchy, it uses the RootProvider property for the parent provider as its own. 공급자 계층의 일부가 없는 경우 공급자는 자체 루트 공급자는입니다.If the provider is not part of a hierarchy, the provider is its own root provider.
이 코드 예제는에 대해 제공 된 큰 예제의 일부는 SiteMapProvider 클래스입니다.This code example is part of a larger example provided for the SiteMapProvider class.
// Implement the ParentProvider property.
public override SiteMapProvider ParentProvider
{
get
{
return parentSiteMapProvider;
}
set
{
parentSiteMapProvider = value;
}
}
// Implement the RootProvider property.
public override SiteMapProvider RootProvider
{
get
{
// If the current instance belongs to a provider hierarchy, it
// cannot be the RootProvider. Rely on the ParentProvider.
if (this.ParentProvider != null)
{
return ParentProvider.RootProvider;
}
// If the current instance does not have a ParentProvider, it is
// not a child in a hierarchy, and can be the RootProvider.
else
{
return this;
}
}
}
' Implement the ParentProvider property.
Public Overrides Property ParentProvider() As SiteMapProvider
Get
Return parentSiteMapProvider
End Get
Set(ByVal value As SiteMapProvider)
parentSiteMapProvider = Value
End Set
End Property
' Implement the RootProvider property.
Public Overrides ReadOnly Property RootProvider() As SiteMapProvider
Get
' If the current instance belongs to a provider hierarchy, it
' cannot be the RootProvider. Rely on the ParentProvider.
If Not (Me.ParentProvider Is Nothing) Then
Return ParentProvider.RootProvider
' If the current instance does not have a ParentProvider, it is
' not a child in a hierarchy, and can be the RootProvider.
Else
Return Me
End If
End Get
End Property
설명
구현 하는 모든 클래스는 SiteMapProvider 클래스 사이트 맵 공급자 계층의 개념을 지원할 수 있습니다.All classes that implement the SiteMapProvider class can support the concept of a site map provider hierarchy. 범위를 벗어나는 공급자 간의 계층 관계는 유지 관리는 SiteMapProviderCollection 자체 공급자를 사용 하 여 컬렉션입니다.Any hierarchical relationships between providers are maintained outside the scope of a SiteMapProviderCollection collection by the providers themselves. 기능 공급자 계층의 예제를 참조 하세요. XmlSiteMapProvider합니다.For an example of a functional provider hierarchy, see XmlSiteMapProvider.