的特性列舉我使用下面的代碼性能的輸出值時:TargetParameterCountException通過串
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:參數計數不匹配。
有誰知道這意味着什麼,以及如何避免呢?
如果有人問'爲什麼要通過字符串的屬性來枚舉',最後我希望創建一個泛型類,它將輸出傳遞給它的任何類型的屬性(可能是一個字符串......) 。
也許會更有幫助請問如何創建基於反射的屬性值枚舉器? – hemp 2011-05-27 19:08:02