对于同一个主题的多个问题如此接近,我感到很抱歉,但我是泛型的新手,虽然我觉得它很吸引人,但事实证明它也有点令人困惑。
我需要使用泛型来检索字典中的条目,如果该条目不存在,我需要创建它。Dictionary Key 是一个字符串,Value 是一个容器类——在本例中是 PersonObject 类型,但它可以是任何类型。多亏了 dtb 和 pswg,我目前的工作效果很好,但我需要以某种方式使新对象的创建成为通用的。
IDictionary list = source.GetType().GetProperty(dictionaryName).GetValue(source, null) as IDictionary;
if (!list.Contains(property))
list.Add(property, new HobbyObject());
而不是new HobbyObject()
,我想创建一个由我正在访问的 Dictionary 定义的类型的新对象。这甚至可以通过反射来完成,还是我只需要为所有可能传入的字典编写一个大的 Switch Case?
感谢您提供任何帮助。