我们有自己的工具来创建我们的 web api 文档。它读取///评论并从中创建文档。但是我们有一个奇怪的问题:表达式typeof(HttpResponseMessage)奇怪地计算为null. 为什么会发生这种情况?
澄清一下:当我们在运行时读取程序集并创建文档时,我们有HttpResponseMessage一些MethodInfo.ReturnTypeAPI 方法。这个工作没有问题。但是当我们尝试检查类型是否为HttpResponseMessage时,我们会这样做if(methodInfo.ReturnType == typeof(HttpResponseMessage),并且这里 if 的右侧总是计算为null。当我在 Visual Studio 调试器中运行它并写入typeof(HttpResponseMessage)Watch 窗口时,它的计算结果null也为。
(类型在 中定义System.Net.Http。)
截图清楚地显示了typeof在程序和Watch窗口中都返回null,但parameterType变量实际上指向该类的类型对象。它是一个普通的 Win32 控制台应用程序。
