【发布时间】:2010-11-02 13:05:16
【问题描述】:
public class Foo
{
public string Bar {get; set;}
}
如何通过反射获取字符串属性 Bar 的值?如果 PropertyInfo 类型是 System.String,则以下代码将引发异常
Foo f = new Foo();
f.Bar = "Jon Skeet is god.";
foreach(var property in f.GetType().GetProperties())
{
object o = property.GetValue(f,null); //throws exception TargetParameterCountException for String type
}
看来我的问题是该属性是索引器类型,带有 System.String。
另外,如何判断属性是否为索引器?
【问题讨论】:
-
在这里工作正常......还有其他事情发生吗?
-
您似乎没有发布足够的上下文代码?
-
是的。调试器说底层类型是字符串,但我怀疑还有其他事情发生。
标签: c# string reflection properties