,c#,generics,type-variables"/>

首页 > 解决方案 > 从字符串“IQueryable”中获取类型"

问题描述

我正在尝试从字符串中获取类型变量

string queryableString = nameof(IQueryable) + "<" + entityType.FullName + " >";
Type type = Type.GetType(queryableString);

这适用于任何具体类。但是为 IQueryable 返回 null。即使下面返回null。

Type newType = typeof(SomeEntity).Assembly.GetType(nameof(IQueryable) + "<" + entityType.FullName + " >");
Type newType2 = Type.GetType(nameof(IQueryable) + "<" + entityType.FullName + " >" + "," + typeof(CaseHeader).Assembly.FullName);
Type newType3 = Type.GetType(nameof(IQueryable) + "<" + entityType.FullName + " >" + "," + typeof(IQueryable).Assembly.FullName);

编辑:根据重复标记的答案

string queryableString = typeof(IQueryable).FullName + "`1[" + entityType.FullName + " ]"; /*+ "," + typeof(CaseHeader).Assembly.FullName;*/
var queryReturnType = queryableString.GetTypeFromString();

从上面生成的字符串是

System.Linq.IQueryable`1[Sfc.Wms.Foundation.Data.Entities.CaseHeader ]

这也不起作用

这也不起作用

System.Linq.IQueryable`1[[Sfc.Wms.Foundation.Data.Entities.CaseHeader,Sfc.Wms.Foundation.Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null ]]

标签: c#genericstype-variables

解决方案


推荐阅读