【问题标题】:Class with generic list of the inherited class type - multiinheritence具有继承类类型的通用列表的类 - 多继承
【发布时间】:2015-09-21 11:08:11
【问题描述】:

我之前在这个链接中问过一个问题 Class with generic list of the inherited class type

现在,在以下解决方案中。 在这种情况下,我该如何做一个 TvGuid 的列表(后代)?

#region ParentItem
public class BaseHeaderFooterItem<T>
    where T:class 
{
    public string Title { get; set; }
    public string EnTitle { get; set; }
    public HyperLink Link { get; set; }
    public int Level { get; set; }
    public List<T> Descendants { get; set; }
}
#endregion

#region HeaderFooter
public class HeaderFooter : BaseHeaderFooterItem<Category>
{
}
#endregion

#region HeaderFooter
public class Category : BaseHeaderFooterItem<Show>
{
}
#endregion

#region Header
public class Show : HeaderFooter
{
    public string ImagePath { get; set; }
    public string MobileLink { get; set; }
    public string MobileLinkTarget { get; set; }
}
#endregion

#region TvGuid
public class TvGuid : Show
{
    public string Date { get; set; }
    public string Time { get; set; }
    public int IsActive { get; set; }
    public int NoProgram { get; set; }
}
#endregion

【问题讨论】:

    标签: c# oop generics inheritance multiple-inheritance


    【解决方案1】:

    你可以像这样实例化你的 BaseHeaderFooterItem 类:

    var baseHeaderFooterItem = new BaseHeaderFooterItem<TvGuid>();
    baseHeaderFooterItem.Descendants = new List<TvGuid> { new TvGuid() };
    

    所以 Descendats 的类型将是 List 。或者,您可以创建一个继承自 BaseHeaderFooterItem 的类。它将具有相同的 List 属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多