将List中的子集保存到Object中

时间:2014-02-05 07:16:52

标签: c# algorithm list sap subset

我从SAP获得了一个包含大量结构的列表([index] [带有项目的结构]。我的程序使用了这个项目的子集。我搜索一个解决方案,用公共setter将这个项目子集保存在一个对象中和getter。我是一种映射

第一个想法

我可以创建一个大开关,保存我的特价对象中的每个项目,但我认为这不是一个好主意。

第二个想法

属性名称等于列表中的名称。我得到PropertyInfo[] prop = typeof(my object).getProperties()所有公共制定者和吸气者。现在我检查prop.Name.Equals(item.name)并保存它。

问题是,我的对象有无法访问的属性。

1 个答案:

答案 0 :(得分:0)

如果您确切知道自己想要和不想要的属性,那么switch可能是一个好主意。这样可以轻松进行单元测试,并确保程序结构是硬编码的 - 这是一件好事!

另一种方法是使用简单的Dictionary

var myDictionary = new Dictionary<string, string>();

// ...

if (!myDictionary.ContainsKey("Property from SAP"))
{
    myDictionary.Add("Property from SAP", String.Empty);
}

// ...

myDictionary["Property from SAP"] = "Value from SAP";