剥离函数类并返回仅包含数据的通用对象

时间:2013-12-13 18:36:03

标签: c#

假设我有一个Item类,那个类有属性,函数,一切。我想把它变成一个通用的Object,只留下实例数据。我想删除所有功能,静态与否。我该怎么做?

一些代码示例:

Item testItem = new Item();
testItem.fieldA = "aaaa";
testItem.functionB("B");

// strip data
Object strippedItem = strip(testItem);

// only data is left
string a = strippedItem.fieldA;  // aaaa
strippedItem.functionB("B") // error, functionB does not exist.

我想在某种程度上,这个问题是问我如何从类自动创建struct而不必声明它们。

1 个答案:

答案 0 :(得分:0)

这是我的解决方法,正是这样做(警告:这个解决方案可能是疯了):

           Item test = new Item();
           JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
           string jsonStr = jsonSerializer.Serialize(test);
           Object strippedItem = jsonSerializer.Deserialize<Object>(jsonStr);