我想获得一个对象类型的属性值。这是我的代码:
Type tip = Type.GetType(pair.Key.GetType().ToString());
object uretilenNesne = Activator.CreateInstance(tip);
uretilenNesne的类型正确,但我想访问uretilenNesne的属性值。你有什么想法吗?
KR,
Dakmaz
答案 0 :(得分:3)
您是否知道要在编译时访问的属性的名称?如果是,那么您可以使用dynamic
数据类型:
Type tip = Type.GetType(pair.Key.GetType().ToString());
dynamic uretilenNesne = Activator.CreateInstance(tip);
var x = uretilenNesne.someProperty;
如果您知道运行时的属性名称,则可以使用反射:Type.GetProperty将返回具有给定签名的属性,可以使用{{{ 3}}或SetValue。例如:
Type tip = Type.GetType(pair.Key.GetType().ToString());
object uretilenNesne = Activator.CreateInstance(tip);
PropertyInfo pinfo = tip.GetProperty("someProperty");
object x = pinfo.GetValue(uretilenNesne, null);
如果您不知道该属性的名称,请使用PropertyInfo.GetValue获取所有属性的数组。