我正在寻找创建KeyValuePair实例并设置key& amp;使用反射动态赋值。
这是
的一部分 foreach(var prop in this.GetType().GetProperties())
循环遍历属性并尝试根据某些条件恢复它们。 KeyValue Pair似乎很复杂。
我有这两种类型定义
var keyType = prop.PropertyType.GetGenericArguments()[0];
var valueType = prop.PropertyType.GetGenericArguments()[1];
在这里,我可以创建一个KeyValuePair的实例..
var keyValuePair = Activator.CreateInstance(prop.PropertyType);
但是键和值是外部的只读属性,只能由构造函数设置。
任何想法?
答案 0 :(得分:3)
使用Key和Value的值调用构造函数:
var keyValuePair = Activator.CreateInstance(prop.PropertyType, new [] {key, val});