我正在尝试使用泛型将对象列表投射到其父级。我有这样的课程:
Entity
Node
OtherClass
其中 Node/OtherClass 继承自 Entity。我想做的是这样的:
Type toType = typeof(Node); // Actually not gotten this way
Object fieldValue = field.GetValue(item);
List<Entity> entities = (List<Entity>)fieldValue;
foreach (Entity toEnt in entities)
{
// Code using toEnt using its Entity attributes...
}
我可以使用 FieldInfo 参考获取该字段,但我无法转换列表。字段值是节点引用列表,但似乎无法将其转换为实体列表,这应该是可能的,因为它继承自实体。
改为转换为节点列表是可行的,但我也希望代码能够获取 OtherClass 的列表。转换为对象列表,然后将每个单独的对象转换为实体也不起作用。
我尝试使用 MakeGenericType,这可能是解决方案的一部分,但经过一段时间的尝试后我无法让它工作。
谢谢你的时间!