访问数据访问层中的枚举

时间:2015-07-16 10:56:11

标签: c# enums data-access-layer

有没有办法在没有引用实际项目的情况下使用/访问数据访问层项目中包含的枚举(为了尝试将某些事物分开)?

例如,我有一个项目说UI引用项目说MIDDLEMAN而另一个项目说DAL。如果我的UI引用了MIDDLEMAN,而DAL又引用了包含枚举的UI,那么我可以从gestureStartPoint = [touch locationInView:self.SFImage]; 访问枚举吗?

3 个答案:

答案 0 :(得分:4)

如果我在n层图层程序上工作,我通常会创建一个项目名称“DataTypes”,它通过任何其他图层项目存储任何共享数据。

所以我可以将enum或'data class'包含在需要使用它们的项目中,而不需要复制它们,或者将ref从一个项目层添加到另一个项目层。

答案 1 :(得分:1)

您基本上有两个选择:

第一个是创建一个单独的项目,其他层都可以访问和使用枚举。如果这样做,请确保尽可能简化该项目。我的意思是小心不要在那里添加与其他任何项目直接相关的逻辑,这会产生不必要的依赖。

您的另一个选择是在MiddleMan图层中创建类似的枚举,并从DAL图层中的枚举映射到此新枚举。由于您的UI可以引用MiddleMan,因此它应该能够使用此新枚举,同时仍然保持较低级别的枚举不可及。然后必须在映射逻辑中调整对较低级别枚举的任何更改。

答案 2 :(得分:-1)

您可以在单独的项目中移动枚举,并将其添加到您不想要合并的两个项目中:)