我有我的枚举,我不想在各层之间分享。
所以我觉得把它包起来会很整洁。
但是怎么样?有很多项目,manualy写下所有项目不是一个解决方案。 此外,enum正在生成。我想保持智商。
答案 0 :(得分:3)
好吧,您可以转换为int
(或定义的基础类型,默认为int
),但这很脆弱;如果有人删除了导致重新编号的条目,或者将7
的含义从Blah.TrivialDetail
更改为Blah.CriticalFail
,则它不会保护您。
如果你想要智能感知,所有各方都需要知道关于这些数字的某些东西,所以IMO你也可以通过一些常见的汇编来分享枚举。
答案 1 :(得分:0)
一种方式(不那么优雅)是在程序集中创建另一个可以共享的枚举。您需要创建一些构建操作,以将生成的枚举从数据装配克隆到新的可共享枚举。如果生成的枚举位于单独的文件中,则将简单文件副本(在命名空间中进行更改)作为DAL项目的后构建事件或共享程序集项目中的预构建事件将起到作用。如果生成的文件包含其他一些内容,那么您需要使用您喜欢的语言(powershell,c#)进行一些文本处理,以提取枚举定义。