public class Foo
{
public string Bar {get; set;}
}
Come si ottiene il valore di Bar, una proprietà stringa, tramite riflessione? Il seguente codice sarà un'eccezione se il tipo PropertyInfo è uno System.StringCome posso ottenere il valore di una proprietà stringa tramite Reflection?
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
}
Sembra che il mio problema è che la proprietà è un tipo di indicizzatore, con uno System.String.
Inoltre, come faccio a sapere se la proprietà è un indicizzatore?
funziona bene qui ... qualcos'altro sta succedendo? – womp
sembra che tu non stia pubblicando abbastanza codice contestuale? – Firoso
Sì. Il debugger dice che il tipo sottostante è una stringa, ma sospetto che ci sia qualcos'altro in corso. – Alan