我试图定义一个类和一个我希望从有限的常量列表中提取的参数,这些常量有点像字典。我不确定该怎么称呼它或搜索,但我想我已经看到一些内置的类使用它。
原因在于我使用的API需要以某种方式构建此类并使用许多不具备可读性的数字。我宁愿使用有意义的单词创建对象而不是它带有的ID号。
示例:包含= 2,不包含= 5,大于= 3,小于= 4等。
TestClass foo = new TestClass(CONTAINS," hello world");
我喜欢这样操作类似字典,以便其余代码将第一个参数视为' 2'而不是字符串" CONTAINS"
我是不是想到了或者这可能吗?谢谢!
答案 0 :(得分:2)
这是enum
。如果您愿意,可以让编译器分配任意数值:
public enum MyOperator {
Contains,
DoesNotContain,
GreaterThan,
LessThan
}
public class TestClass {
public TestClass(MyOperator op, Object operand) {
this.Operator = op;
this.Operand = operand;
}
public MyOperator Operator { get; set; }
public Object Operand { get; set; }
如果您有以下理由,可以指定数值:
public enum MyOperator {
Contains = 2,
DoesNotContain = 5,
GreaterThan = 3,
LessThan = 4
}
明确施展:
int x = (int)MyOperator.LessThan;
同样字符串化:
public void F(MyOperator op) {
MessageBox.Show(op.ToString());
}
也许Operand
应该是字符串,或者整个事情应该是通用的,但你没有说。这是一个例子。