C#-确定方法ReturnType是否为特定类型

时间:2018-07-12 14:03:37

标签: c#

我有一个名为PathInfo的课程。我项目中的几种方法都返回Task<PathInfo>

我正在通过反射获取项目中的方法。我需要查看方法是否返回Task<PathInfo>。我的问题是,我该怎么办?

这时,我有一个MethodInfo实例。我注意到MethodInfo实例具有一个名为ReturnType的属性。但是,我不知道如何使用该属性来确定ReturnType是否为Task<PathInfo>。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

ReturnType将返回一个Type对象。您应该可以简单地将其与您的类型进行比较,以查看它们是否匹配:

var isOfType = methodInfo.ReturnType == typeof(Task<PathInfo>);

如果您要比较的类型有所不同,那么只要您将其作为类型对象,就可以对类型为Type的变量执行相同的操作:

Type myType = typeof(Task<PathInfo>); // Assignment as an example - this type could easily come from a method parameter or elsewhere
var isOfType = methodInfo.ReturnType == myType;