在项目之间共享枚举类型

7
我正在使用C#和.NET Framework 4.7开发一个解决方案。
我有一个枚举类型需要在多个项目之间共享,只需要分享这个枚举类型,而不需要分享在该项目中的其他类。
我需要创建一个包含枚举类型的类库以便在其他项目中进行共享吗?
我认为这样做太麻烦了:仅因一个枚举类型而创建一个项目。
这个枚举类型并不经常更新。现在我有两个不同项目中的副本,当我需要更新它时就会出现问题。

1
除了共享项目枚举或使一个项目引用另一个项目之外,你几乎没有其他选择。但是,由于枚举可以是整数,因此它们可以通过原始方式共享。 - TheGeneral
这个枚举类会经常更新吗? - Florin-Constantin Ciubotariu
4
我需要创建一个类库并将枚举放入其中以在其他项目之间共享吗?是的,那就是您需要做的。 - Martin Liversage
我已经更新了问题,并提供了关于枚举是否经常更新的详细信息。 - VansFannel
5
创建一个名为"common"的新项目并完成它,你永远不知道将来是否会有更多东西可以放入其中作为业务层。 - TheGeneral
显示剩余8条评论
1个回答

2
我认为这有点过分:仅为枚举创建一个项目。

如果您已经提出了答案,那么这不是一个中立的问题。 :)

其次,这种类型的主题在https://codereview.stackexchange.com/上可能会更好。

但对于这个问题:如果您将其视为通常的数据协定,则可以避免提取仅具有单个枚举的项目:在两侧定义枚举,并实现两者之间的映射。

当然,它也有缺点:您需要复制枚举并进行一些序列化和反序列化。这样做的琐碎方法是传输底层int值或枚举字段名称,并在另一侧重新映射它。

您没有提供任何进一步的细节,因此我无法告诉您是否真的这将是更好的解决方案,但通常如果没有(也许只是在体系结构上)涉及远程组件,则我会选择单独的项目(可能命名为Common或Model),该项目可以被所有方引用。但是,我几乎无法想象一个数据模型,其中仅有一个枚举是唯一要存储的类型。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接