Vik*_*son 1 c# reflection list object
我有一个通用对象,其中包含一个我喜欢访问的对象列表。通过使用
object sourceValue = new List<tab> {new tab()};
PropertyInfo[] sourcePropertyInfo = sourceValue.GetType().GetProperties();
//First field of PropertyInfo is the list, second is a Raw instance
object result = sourcePropertyInfo[0].GetValue(sourceValue, null);
Run Code Online (Sandbox Code Playgroud)
选项卡对象如下所示:
public partial class tab
{
public long TabId { get; set; }
public string Title { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在这里,我想通过结果变量访问列表,但结果是结果 = 0,这是一个整数。最有可能的是它从列表中获取计数属性。如何访问列表(类型选项卡)中对象的值?
请注意,我无法访问或更改对象 sourceValue 的类型。
您正在获取列表类型的属性,而不是元素的类型。
foreach (object element in (sourceValue as IEnumerable ?? Enumerable.Empty<object>()))
{
var type = element.GetType();
var props = type.GetProperties();
object result = props.First().GetValue(element, null);
}
Run Code Online (Sandbox Code Playgroud)
注意:这可以优化:)
| 归档时间: |
|
| 查看次数: |
1814 次 |
| 最近记录: |