获取类型并将其作为参数传递

时间:2014-06-02 18:43:07

标签: c# entity-framework reflection

我有以下存储过程DB.GetData(),它返回类型为

的结果
IEnumerable<GetData_Result>

从DB.GetData(),如何获取IEnumerable的数据类型,在本例中为GetDataResult_Result,然后将其作为SomeType_Result传递如下:

  var model = new SomeViewModel() {
     var names = typeof(SomeType_Result).GetProperties().Select(i => i.Name);
       }

1 个答案:

答案 0 :(得分:1)

您可以使用Type.GetGenericArguments

var argumentType = IEnumerable<GetData_Result>.GetType().GetGenericArguments()[0];

var model = new SomeViewModel() 
{
    var names = argumentType.GetProperties().Select(i => i.Name);
 }