我试图获得包含在列表中的实际对象,该列表本身包含在任务中。
。方法具有以下签名,例如:
public async Task<List<Dictionary<string,object>>> GetData()
我现在用的是这样的:
var member = type.GetMembers()[0];
var returntype = member.ReturnType.GetGenericArguments();
var temp = member.ReturnType.GetGenericArguments()[0];
if (temp.GetGenericArguments().Count() > 0)
{
temp.GetTypeInfo().GetGenericArguments();
var innerttype = temp.GetGenericArguments()[0].FullName;
}
目前上面的代码(这是不完整的,但只是从实际代码的摘录)返回系统。object作为全名而不是Dictionary。
欢迎提出任何解决这个问题的建议。
如果你声明你的字典是<string, object>
类型,并且只在其中插入对象,而不是在图中更高级的对象,那么你只会从中得到object
类型的对象。
如果你在那里存储了各种各样的东西,并且需要获得它们的具体类型以便与它们交互,那么首先尝试使它们都符合一个接口。然后,将接口类型替换为"object"。如果这不起作用,可以使用泛型。但是,为了能够与它交互,您仍然需要提前知道该类型。
如果你真的不知道里面有什么,想要动态地挖掘它,这正是构建反射的目的。您也可以查看dynamic
类型