表达式树的节点转换问题

Expression<Func<int , int , bool>> additionExpressionInfo = ( x , y ) => x != y && x != 0;
BinaryExpression body= ( BinaryExpression ) additionExpressionInfo.Body; //Expression是基类,BinaryExpression是从Expression派生,基类为什么可以转子类而不抛出异常

UYOU
浏览 603回答 1
1回答

梵蒂冈之花

( x , y ) => x != y && x !=&nbsp;0&nbsp;本身就是&nbsp;BinaryExpression&nbsp;,所以&nbsp;additionExpressionInfo.Body&nbsp;类型就是&nbsp;BinaryExpression&nbsp;,可以通过下面的代码验证:Console.WriteLine(additionExpressionInfo.Body&nbsp;is&nbsp;BinaryExpression);
打开App,查看更多内容
随时随地看视频慕课网APP