Dot-Net

列舉應該放在 MVC 項目結構中的什麼位置?

  • August 10, 2011

我正在使用 .NET MVC 3 Code-First 方法。我的域有一個名為 的實體Question,該實體有一個Score屬性,Byte我想將該屬性替換為 anEnum並將其命名EnumScore我可以將值設置為 0 到 10 的位置。

列舉應該放在那個結構中的什麼地方?在我的模型文件夾中名為Enums的文件夾中?

更新:

那是我在Models文件夾中的項目結構:

在此處輸入圖像描述

聽起來你有一個價值對象。我會把它放在你在域中放置其他值對象的同一個地方,這實際上取決於你的文件夾結構。絕對在模型文件夾中,但是如果您要細分模型文件夾,則取決於您的操作方式。您有 Q&A 子文件夾嗎?也許它在問題旁邊。或者你有一個值對象子文件夾?也許在那裡。

您真正應該關心的是列舉的名稱空間

無論您的類文件存在於解決方案中的什麼位置,您的程式碼都將依賴於命名空間。我在想你可能想要一個像這樣的命名空間:Questiona2011.Enums. 將 Enum 類綁定到Models命名空間並不是一個好主意 - 並不是說不能這樣做,但有時視圖可能需要與您的列舉進行互動。所以我傾向於給我的列舉一個單獨的命名空間。

您不一定需要為類文件創建一個文件夾……如果您願意,您可以保留在根目錄中 - 真正的因素是命名空間。

因此,使用如下命名空間創建一個類:

using System;

namespace Questiona2011.Enums
{
   public enum Score
   {
       One = 1,
       Two = 2,
       .
       .
       .
       Ten = 10
   }
}

話雖如此,我只是將類文件放在 Models 文件夾中。:)

引用自:https://stackoverflow.com/questions/7000729