2017-06-20 64 views
0

,如果我有一個可移植類庫與類鴻溝C#類到它的部分

public class Class1 
: EntityBaseClass 
{ 
    public string Property1{get;set;} 
    public string Property2{get;set;} 
} 

和第二類,它包含的類的實例1

public class Class2 
: EntityBaseClass 
{ 
    public string Property1{get;set;} 

    public Class1 Property2{get;set;} 
} 

我怎麼能devide類2,以便我可以得到一個字典形式的

Dictionary<Type, object> 

其中'類型'是Class1的類型,'object'是c的實例lass 1?

由於持久性的原因,我不得不將其分解成零件,並且必須分開保存每個實例。

該計劃是實施Save<T>(T entity)方法。此方法挑選從特殊基類派生的屬性並將其保存到數據存儲中。

由於pcl庫類型沒有.net框架的完整反射子集。

我試圖做到反射和序列化沒有成功,但很多頭疼。屬性不起作用。任何提示如何開始?

回答

0

當您想查詢類型

foreach (EntityBaseClass item in list) 
{ 
    if (item.GetType() == typeof(Class1)) 
    { 
     Class1 cl1 = (Class1)item; 
     //Your code 
    } 
    else 
    { 
     Class2 cl2 = (Class2)item; 
     //Your code 
    } 
} 

我希望它會幫助你,你可以使用List<EntityBaseClass>代替Dictionary<Type, object>

E.g)

List<EntityBaseClass> list = new List<EntityBaseClass>(); 
Class1 cl1 = new Class1(); 
list.Add(cl1); 
Class2 cl2 = new Class2(); 
list.Add(cl2); 

+0

如果它很容易,但我有一個class2包含一個class1的實例。我需要某種集合中的class1實例和class2實例。 – Tombaman