我有一个应用程序,其中域和用户界面是单独的层。两者都可以访问基础结构层中定义的一些枚举。不同的团队在不同的层面上工作。
枚举的某些值在域中尚未完全实现,或者可能在应用的试用版中被禁用。我想要做的是在UI的下拉菜单中显示这些值,但在域代码完全实现之前禁用它们。此时,UI层中不需要任何其他工作,因此域团队可以简单地启用它。
实现这一目标的最佳方法是什么?
我可以在枚举值上设置一个属性吗?
我是否需要在DTO或映射器上将其指定给DTO?
别的什么?
不担心如何处理UI部分,只关心如何将信息传递给UI。不询问实现本身,而是一个概念。对于它的价值,后端是C#,前端是HTML5,MVVM使用MVC.NET,WCF,Unity。
答案 0 :(得分:1)
我弄清楚它实际上非常简单。
您确实可以将属性添加到单个枚举值(与枚举本身相比更为常见),并且这些属性不需要自定义,尽管它们可以。
MSDN拥有可用属性的完整列表here。
我最终使用了这个:
[EditorBrowsableAttribute(EditorBrowsableState.Never)]
EditorBrowsableState.Never
用于那些尚未实现的枚举值,并在EditorBrowsableState.Always
更改为{{1}}时。
答案 1 :(得分:0)
您可以为枚举创建自定义属性,并根据环境过滤属性。我不确定这是好事还是坏事。