我有一个如下所示的枚举:
public enum TransactionStatus { Open = 'O', Closed = 'C'};
我正在从数据库中提取数据,用一个字符表示 - 你猜对了 - 'O' 事务是打开的还是 'C' 事务是关闭的。
现在因为数据作为对象从数据库中出来,所以我在编写比较代码时花了不少时间。
我能做的最好的就是写:
protected bool CharEnumEqualsCharObj(TransactionStatus enum_status, object obj_status) {
return ((char)enum_status).ToString() == obj_status.ToString();
}
但是,这不是我必须处理的唯一字符枚举,我有 5 或 6 个,并且为它们编写相同的方法至少可以说很烦人。 据说所有枚举都继承自 System.Enum但如果我尝试将其设置为输入类型,则会出现编译错误。这也在 .NET 1.1 中,所以泛型是不可能的。
我已经为此苦苦挣扎了一段时间。有没有人有更好的方法来编写这种方法?另外,任何人都可以澄清整个枚举继承自 System.Enum 但不是多态的东西吗?