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.
Кроме того, как мне узнать, является ли свойство индексатором?