我正在评估一个名为Piranha(http://piranhacms.org/)的开源CMS ,以便在我的一个项目中使用。至少对于我来说,我发现以下代码有趣且有点混乱。可以帮助我理解为什么类从相同类型的基类继承吗?
public abstract class BasePage<T> : Page<T> where T : BasePage<T>
{
/// <summary>
/// Gets/sets the page heading.
/// </summary>
[Region(SortOrder = 0)]
public Regions.PageHeading Heading { get; set; }
}
如果BasePage<T>
要定义的类,为什么要继承Page<T> where T: BasePage<T>
?它有什么具体目的?