Dot-Net
System.Linq.Expressions.LogicalBinaryExpression 類有什麼問題?
我正在嘗試解析 Expression 並且在某些時候我必須解析帶有 type 的表達式
System.Linq.Expressions.LogicalBinaryExpression。我從調試手錶中獲取的這個類名。expression.GetType().ToString()等於"System.Linq.Expressions.LogicalBinaryExpression"。但是我在命名空間中看不到這個類System.Linq.Expressions。根本無處可去。上課也是一樣MethodBinaryExpression。為了檢查類型,我真的更喜歡寫
expression is LogicalBinaryExpression或者expression.GetType() = typeof(LogicalBinaryExpression )但絕對不是expression.GetType().ToString() == "System.Linq.Expressions.LogicalBinaryExpression"所以現在我只有錯誤
命名空間“System.Linq.Expressions”中不存在類型或命名空間名稱“LogicalBinaryExpression”(您是否缺少程序集引用?)
這怎麼可能?
LogicalBinaryExpression是internal,所以:
- 更難得到 is 作為
Type,你不能簡單地使用typeof(LogicalBinaryExpression)orx is LogicalBinaryExpression。- 你不會找到任何關於它的文件。
- 你根本不應該使用它。這是一個可以隨時更改的實現細節。
您應該檢查
BinaryExpression或檢查NodeType表達式。這同樣適用於
MethodBinaryExpression。