我有一个案例,我有几组数字(寄存器值)。我想提高可读性并检查适当的类型(只有某些值在某些函数中才有意义)。
在我的特定实现中,我将它们设为枚举 - 所以我现在有一组枚举。
现在我似乎已经结束了这种方法,因为我想将它们划分为某些应用程序的有效枚举集 - 因此函数 A 可以例如将(来自)enumA、enumB 和 enumC 的值作为输入,但不是 enumD这是对不同功能的描述。
我已经研究过接口中的枚举和枚举继承——两者都是死胡同,在 C# 中是不可能的。
我现在想知道这个问题的解决方案会是什么样子。我想对可能的值进行智能感知,并且还具有一些类型安全性,这样我就不能(好吧,至少在没有恶意强制转换的情况下)输入错误的值。
如何做到这一点?
(可能的解决方案是简单地编写几个采用几个不同枚举的函数 - 仍然可能但不是很好,或者类似这种模式有名称吗?(C# compile-time type-safety with "params" args of different types) - 两者似乎都不太好。)