2015-09-21 3 views
0

У меня есть 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 

ответ

0

Если вы хотите использовать дженерики, вы могли бы использовать дженерики:

#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 
+0

И если я хочу, чтобы начать TvGuid класса со списком о TvGuid? –

+0

И если я хочу инициировать TvGuid Class со списком oh TvGuid? –

Смежные вопросы