雖然已經發布了很多問題,但似乎沒有人幫助我解決我的問題。循環訪問泛型類的集合屬性
我已經開始了一個新的Generics
/Reflection
冒險,我只是試圖讓我的頭在語法和概念。
我有一個Generic
類與X數量的屬性和一個是一個集合,所有工作正常,但我有問題從屬性名稱提取集合props
的值。
foreach (var property in typeof(T).GetProperties())
{
if (property.Name == "Props")
{
foreach (var item in (IEnumerable)property.GetValue(type, null))
{
var propertyName = "";
var newValue = "";
var oldValue = "";
sbDescription.AppendLine(strDescriptionVals
.Replace("{0}", (item.ToString() == "PropertyName") ? item.ToString() : "" + ", "));
sbAllNotes.AppendLine(strAllNotes
.Replace("{0}", (item.ToString() == "PropertyName") ? item.ToString() : "")
.Replace("{1}", (item.ToString() == "NewValue") ? item.ToString() : "")
.Replace("{2}", (item.ToString() == "OldValue") ? item.ToString() : ""));
}
}
}
正如你可以看到我已經精確定位屬性的道具,現在我通過希望環路和屬性名拉值。
item.ToString()
只是打印類屬性的命名空間,而不是價值
希望你一種民間可以點我在正確的方向?
什麼'type'變量? – Sybren
@Sybren它的(T)屬性在每個方法調用上幾乎相同,這就是爲什麼它是通用的。 –
這是一個非常「匿名」的功能和類的集合。問題在於僅從「集合屬性」中檢索值。 –