2015-04-29 144 views
0

不同對象的名單我有一個基類如下初始化繼承

protected BaseClasse() 
    { 
     this.myDic= new Dictionary<string, List<somethingThatWillChange>>(); 
    } 

    protected Dictionary<string, List<somethingThatWillChange>> myDic{ get; set; } 

然而,這個類將有兩班,將繼承它。其中一個遺傳類需要new Dictionary<string, List<Type1>>(),另一個需要new Dictionary<string, List<Type2>>()。 Type1和Type2是類,Type1有7個字段(名稱,年齡,時間,工作,汽車,薪水,標題),Type2有3個字段(名稱,年齡,時間)。

因此在基類中,我要初始化或聲明我的詞典爲new Dictionary<string, List<somethingGeneric>>()

,然後在這兩個繼承類,我要初始化或轉換爲適當的List<type1>List<type2>

  • 我不想聲明多個字典。
  • 我不想做我的Type1和Type2類

繼承是有辦法做到這一點?

回答

6

使用generics

public BaseClass<T> 
{ 
    protected BaseClasse() 
    { 
     this.myDic= new Dictionary<string, List<T>>(); 
    } 

    protected Dictionary<string, List<T>> myDic{ get; set; } 
} 
3

這應該工作:

public BaseClass<T> { 
    protected BaseClass() 
    { 
     this.myDic = new Dictionary<string, List<T>>(); 
    } 

    protected Dictionary<string, List<T>> myDic { get; set; } 
} 

public Type1Class : BaseClass<Type1> { 
} 

public Type2Class : BaseClass<Type2> { 
}