假设我有两个枚举,如下:
namespace A
{
public enum AE
{
AE_0,
AE_1
}
}
namespace B
{
public enum BE
{
BE_0,
BE_1
}
}我想使用这两个枚举看起来是一个,这样,在一个函数中,我们可以同时使用F(AE)和F(BE),而不需要定义两个函数。
据我所知,我们可以为两个不同的类创建一个接口,这样如果我们将接口指定为参数,就可以使用这两个类。
我能做同样的事情吗?
谢谢。
编辑:我提出了这个问题,因为我已经在名称空间A中有枚举A了。现在,我想在名称空间B中添加枚举B,而不涉及名称空间A中的任何内容。然而,在名称空间A中,我已经有了一个函数F,其中参数是枚举A。现在,我想在命名空间B中使用函数F和枚举B。我得到了一个错误,因为枚举A和枚举B不能相互转换。谢谢。
发布于 2015-12-21 23:06:44
不,你不能这样做,因为enum是从System.Enum继承的,仅此而已。
此外,尽管有明显的外观,但将接口应用于枚举并不会产生所需的结果,因为枚举成员是以static值实现的,而interface不能指定static值。
最后,如果您确实应该接受两种enum参数,请考虑它们是两个单独的enum,还是带有[ enum ](https://msdn.microsoft.com/en-us/library/system.flagsattribute(v=vs.110%29.aspx))的单个enum。
https://stackoverflow.com/questions/34405774
复制相似问题