在项目之间共享枚举

Van*_*nel 7 .net c# enums

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

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

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

我认为这太多了:仅为枚举创建一个项目。

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

Gyö*_*zeg 2

我认为这太多了:仅为枚举创建一个项目。

如果您已经提出了答案,那么这不是引用中性问题。:)

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

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

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

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