虽然有很多问题被发布,但似乎没有帮助我解决我的问题。
我开始了一个新的 泛型
/ 反射
的探险,我只是试图理解语法和概念。
我有一个 泛型
类,其中包含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() : ""));
}
}
}
你可以看到我已经确定了属性 Props,现在我想循环遍历它并按属性名称提取值。
item.ToString()
只会打印类属性的命名空间,而不是值。
希望您能指点我正确的方向?
type
变量是什么? - Sybren