是否可以将Dictionary<string, Anything>
转换为一致的中间泛型类型?所以我可以将<string, string>
,<string, bool>
,<string, int>
,<string, anything>
全部转换为相同类型的字典?C#将Dictionary <string,AnyType>转换为Dictionary <string,Object>(涉及反射)
我对正在使用重型反射一个项目,我需要能够处理词典类型,例如:
FieldInfo field = this.GetType().GetField(fieldName);
Dictionary<string, Object> dict = (Dictionary<string, Object>)field.GetValue(this);
上面的代码是什么,我现在已经和程序总是在失败从field.GetValue投射到通用Dictionary<string, Object>
。
有没有办法做到这一点?还是应该找出处理这些字典的不同方法?
任何帮助将不胜感激。
这就像一个魅力,谢谢你AakashM和Gibsnag。这给了我一段时间的麻烦。 – 2012-04-18 10:27:31
不需要特殊的CastDict方法,您可以使用普通的Cast()LINQ运算符。 –
2013-07-03 03:01:34