在项目之间共享枚举

时间:2018-05-30 06:36:17

标签: c# .net enums

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

  

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

如果你已经提出答案,这不是一个中性问题。 :)

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

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

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

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