我正在建模一个用于评估表达式的系统。这些表达式中的操作数可以是多种类型之一,包括一些基本的 .NET 类型。在定义我的 Expression 类时,我希望有一定程度的类型安全性,因此不想使用“object”作为操作数对象类型,因此考虑定义一个抽象的 Operand 基类并为每种类型的 Operand 创建一个子类。你认为这样做怎么样?
另外,只有某些类型的操作数与其他操作数有意义。最后,只有某些运算符与特定操作数有意义。我无法想出一种在编译时实现这些规则的方法,所以我想在运行时进行这些检查。
你有什么更好的想法吗?
另外,只有某些类型的操作数与其他操作数有意义。最后,只有某些运算符与特定操作数有意义。我无法想出一种在编译时实现这些规则的方法,所以我想在运行时进行这些检查。
你有什么更好的想法吗?