是否有可能复制这种提供抽象方法的功能,在一个枚举中,内部枚举常量必须覆盖并提供功能?是否有可能在c#中模仿这个Java枚举代码#
public enum Logic {
PAY_DAY {
@Override
public void acceptPlayer(Player player) {
// Perform logic
}
},
COLLECT_CASH {
@Override
public void acceptPlayer(Player player) {
// Perform logic
}
}
,
ETC_ETC {
@Override
public void acceptPlayer(Player player) {
// Perform logic
}
};
public abstract void acceptPlayer(Player player);
}
如果不能:: 你能提供,我可以实现很多特殊的逻辑类似的方式的方式?
编辑::我知道C#中的枚举实际上并不像Java中的'对象',但我希望执行类似的逻辑。
编辑::为了澄清,我不想为每个特定的逻辑位提供具体的类。 IE浏览器,创建接口acceptPlayer和创造了许多新的类不appropiate
这是在C#中的枚举** **没有可能 - 就是这样的不支持一个特征。 – Oded 2012-01-31 20:37:17
而不是解释你**不需要**,告诉我们你**做什么**实现。 – Oded 2012-01-31 20:39:18
您可以创建一个'Action'工厂,将其传递给一个值,并且它会返回一个相关的“Action”来执行。 – 2012-01-31 20:41:08