我从SAP获得了一个包含大量结构的列表([index] [带有项目的结构]。我的程序使用了这个项目的子集。我搜索一个解决方案,用公共setter将这个项目子集保存在一个对象中和getter。我是一种映射
第一个想法
我可以创建一个大开关,保存我的特价对象中的每个项目,但我认为这不是一个好主意。
第二个想法
属性名称等于列表中的名称。我得到PropertyInfo[] prop = typeof(my object).getProperties()
所有公共制定者和吸气者。现在我检查prop.Name.Equals(item.name)
并保存它。
问题是,我的对象有无法访问的属性。
答案 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";