c# - 在项目之间共享枚举

标签 c# .net enums

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

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

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

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

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

最佳答案

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

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

其次,这种题材还是上https://codereview.stackexchange.com/比较好恕我直言。

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

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

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

关于c# - 在项目之间共享枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50597826/

相关文章:

c# - 如何自动添加当前程序集中的所有 EntityTypeConfiguration<>?

c# - WPF ListBoxItem 样式是否覆盖了我的 ItemTemplate?

.NET 集合以支持 LIFO

c# - 银光和 WCF : Max message size

javascript - JavaScript 字符串比较和数字比较一样快吗?

c - Eclipse 编辑器不显示函数错误,不包括枚举值

c# - 带有 Group By 和带有 Min(string) 的 Having 子句的 LINQ

c# - 如何匹配要插入到 C# 中的 ComboBox 中的数据

c# - 在 Windows 中实现 heavy graphix 最合适的方法是什么?

java - 验证@RequestParam 在枚举列表中