如何将对象转换为具有变量泛型的EntitySet



我有一个变量(类型:object)叫0,我还有一个变量(类型:Type)叫t。我知道0是一个类型为t的EntitySet,它只有一个条目。

我需要获得EntitySet中的第一个元素,以便我可以使用反射来获得它的属性。我尝试了几种方法来获取第一个元素,但没有一个成功。

  1. Cast o to EntitySet -听起来不错,但不知道如何做到这一点与t是一个变量,可以改变
  2. 转换为动态
  3. 转换到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

相关内容

  • 没有找到相关文章

最新更新