将c#类划分为它的部分

时间:2017-06-20 03:39:12

标签: c# reflection

如果我有一个带类

的可移植类库
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;}
}

我怎样才能将第2课分开,以便能够以

的形式获得字典
Dictionary<Type, object>

其中'Type'是Class1的类型,'object'是Class 1的实例?

出于持久性原因,我必须将一个类分成几个部分,并且必须分别保存每个实例。

计划是实施Save<T>(T entity)方法。此方法选择从特殊基类派生的属性并将其保存到数据存储区中。

由于pcl库类型,没有.net Framework的完整反射子集。

我尝试用反射和序列化来做到这一点但没有成功,但很多头痛。属性也不起作用。任何提示如何开始?

1 个答案:

答案 0 :(得分:0)

您可以使用$string = "OK|some_id|some_name|some_id|0|1|||some_name|some_email|some_address|some_street|some_city|some_zipcode|some_country|date|0|-"; $array = preg_split("/\|/", $string); $json = json_encode($array); print_r($json); 代替List<EntityBaseClass>

E.g)

Dictionary<Type, object>

如果要检查类型

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

我希望它会对你有所帮助。