c# – 在项目之间共享一个枚举

我正在使用C#和.NET Framework 4.7开发解决方案.

我有一个枚举,我必须在许多项目之间分享.我只需要共享枚举,而不是这个项目中的其他类.

我是否需要使用枚举创建一个类库,以便在其他项目之间共享它?

我认为这太过分了:只为枚举创建一个项目.

此枚举类不经常更新.现在我在两个不同的项目中有两个这个枚举的副本.现在出现问题,我必须更新它.

最佳答案

I think this is too much: create a project for an enum only.

如果您已经提出答案,这不是一个中性问题. 🙂

其次,这种话题在https://codereview.stackexchange.com/恕我直言会更好.

但是对于这个问题:如果你把它作为通常的数据契约来处理,你可以避免使用单个枚举来提取项目:你在两边定义枚举,并在两者之间实现映射.

它当然有缺点:你需要复制你的枚举并做一些序列化和反序列化.执行此操作的简单方法是传输基础int值或枚举字段名称,并在另一侧重新映射它.

你没有提供任何进一步的细节,所以我不知道这是否真的是更好的解决方案,但一般来说如果没有(可能只是架构上)远程组件,那么我会选择单独的项目(可能命名为Common或Model) ,可以被各方引用.但是,我很难想象一个数据模型,其中只有一个枚举是唯一存储的类型.

点赞