如何检查表达式树中参数的类型(类似于'is'关键字)

Cal*_*ers 2 c# expression-trees typechecking

如何检查表达式树中参数的类型(bool如果类型正确,则获得与 a 等效的表达式树)?如果是普通代码,我会这样做:

if(myObj is int)
Run Code Online (Sandbox Code Playgroud)

我看到有一种Expression.Convert方法,但这会转换对象,而不仅仅是检查其类型。

编辑:我找到了答案,你使用Expression.TypeIs

Tho*_*que 6

您可以使用以下Expression.TypeIs方法:

var isExpression = Expression.TypeIs(parameterExpression, typeof(SomeType));
Run Code Online (Sandbox Code Playgroud)