0

可能重复:
如何在 .NET 类库中创建“抽象”枚举?

所以,这是我的项目。

我有一个网络框架,它有一个名为命令的枚举。这基本上告诉系统刚刚进来的数据包是否是 CONNECT、CHAT、JOIN 等。作为未来的步骤,我希望允许插件使用这个可以提供额外命令类型的“框架”。我知道您不能在后续插件中向现有枚举添加值,那么在上面做我想做的事情的正确方法是什么?一类?只是一个用于命令的整数字段,以及一系列 const int,如 CONNECT = 1、JOIN = 2 等?

4

2 回答 2

1

您可能应该将主要消息类型之一设置为plugin,这样您就可以将消息处理委托给插件本身,而不是尝试自己处理这些当前未知的数据包。此外,每个插件消息都应该包含一个标识符,该标识符指定哪个插件应该处理它。

通常,您要使插件系统尽可能模块化,这样您就不必担心它会如何干扰您的代码。

于 2012-12-07T03:52:02.423 回答
0

我认为最好的方法是创建一个带有常量的类

public class Commands
{
    public const int CONNECT = 1;
    public const int CHAT = 2;
    public const int JOIN = 3;
}

当用户想要添加新的命令类型时,他需要覆盖这个类

public class PluginCommands: Commands
{
    public const int AddBuddy = 4;
    public const int Disconnect = 5;
}
于 2012-12-07T03:51:57.720 回答