[英]Class with generic list of the inherited class type
我有3节课:
一些主题具有称为某种类型的后代的列表。
我想在BaseHeaderFooterItem类中有一个通用类。 以及清单的保险和类型。
有什么选择吗?
#region ParentItem
public class BaseHeaderFooterItem
{
public string Title { get; set; }
public string EnTitle { get; set; }
public HyperLink Link { get; set; }
public int Level { get; set; }
}
#endregion
#region HeaderFooter
public class HeaderFooter : BaseHeaderFooterItem
{
public List<Category> Descendants { get; set; }
}
#endregion
#region HeaderFooter
public class Category : BaseHeaderFooterItem
{
public List<Show> Descendants { get; set; }
}
#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
如果要使用泛型,则可以使用泛型:
#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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.