【发布时间】:2015-11-13 13:57:05
【问题描述】:
标题基本上说明了一切。我正在实现一些分析表达式并在这里和那里使用反射的逻辑。为了检索以Expression<Func<T, S>> 作为参数的特定泛型方法的重载,我使用typeof 运算符来获取此参数的正确开放泛型类型:
typeof(Expression<Func<,>>)
据我了解,使用typeof 运算符可用于获取开放的泛型类型。但是,在这种情况下,编译器会抱怨它错过了来自 Func<,> 委托的类型信息:
Type expected
这是按规范吗?如果是这样,如何在这里获得正确的类型?我正在使用 Visual Studio 2013 Update 4 / C# 5。
【问题讨论】:
-
你需要先得到
typeof(Expression<>) -
在你的情况下 open generic type 是
Expression<>和Func<,>但不是Expression<Func<,>> -
你能解释一下你尝试做什么吗?可能是代码示例?
-
呃,咖啡一定对我有影响。
Expression<>就够了 :) 感谢您的提醒。
标签: c# compiler-errors typeof