gpt4 book ai didi

使用 typeof(Expression>) 的 C# 编译器错误

转载 作者:行者123 更新时间:2023-11-30 12:42:28 25 4
gpt4 key购买 nike

标题基本上说明了一切。我正在实现一些分析表达式并在这里和那里使用反射的逻辑。检索采用 Expression<Func<T, S>> 的特定泛型方法的重载作为参数,我使用了 typeof运算符以获取此参数的正确开放泛型类型:

typeof(Expression<Func<,>>)

据我了解,使用 typeof运算符可用于获取开放泛型类型。然而,在这种情况下,编译器提示说它错过了 Func<,> 中的类型信息。代表:

Type expected

这是规范吗?如果是这样,如何在这里获得正确的类型?我正在使用 Visual Studio 2013 Update 4/C# 5

最佳答案

typeof ,您可以获得有关开放泛型类型或封闭类型的类型信息。你不能使用 typeof两者兼而有之。

Expression<>是开放类型,但指定类型参数 Func<,>尝试引用封闭类型,这就是编译器希望您指定 Func<,> 类型参数的原因

只需使用 typeof(Expression<>) ,这就是你需要的开放类型。

关于使用 typeof(Expression<Func<,>>) 的 C# 编译器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33694387/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com