Я использую следующий код для вывода значений свойств:
string output = String.Empty;
string stringy = "stringy";
int inty = 4;
Foo spong = new Foo() {Name = "spong", NumberOfHams = 8};
foreach (PropertyInfo propertyInfo in stringy.GetType().GetProperties())
{
if (propertyInfo.CanRead) output += propertyInfo.GetValue(stringy, null);
}
Если я запускаю этот код для int
или для сложного типа Foo
, он работает нормально.Но если я запускаю его для string
(как показано), я получаю следующую ошибку в строке внутри цикла foreach
:
System.Reflection.TargetParameterCountException: Несоответствие количества параметров.
Кто-нибудь знает, что это значит и как этого избежать?
Если кто-то спросит «почему вы перечисляете через свойства строки», в конце концов я надеюсь создать универсальный класс, который будет выводить свойствалюбого типа, переданного ему (который может быть строкой ...).