我有一个变量(类型:object
)叫0,我还有一个变量(类型:Type
)叫t。我知道0是一个类型为t的EntitySet
,它只有一个条目。
我需要获得EntitySet中的第一个元素,以便我可以使用反射来获得它的属性。我尝试了几种方法来获取第一个元素,但没有一个成功。
- Cast o to EntitySet -听起来不错,但不知道如何做到这一点与t是一个变量,可以改变
- 转换为动态
- 转换到EntitySet -目的是,然后我可以使用EntitySet的方法和获得第一个对象,但它抛出一个异常
:
Type t;
object o; // we know it's EntitySet<t>
I need
t firstElement = o[0];
您应该能够将其强制转换为IEnumerable<object>
,因为IEnumerable<T>
是协变的。列表不起作用
Type t;
object o;
var objList = (IEnumerable<object>)o;
var firstObject = objList.First();
//Do your reflection magic with firstObject