讓我們看一個項目的例子被列在一個電子商務網站來解釋這個問題。也許你有自行車出售,並且你試圖在銷售網站上列出它,選擇一個類別和子類別。也許你會選擇:
(類別>子類別) 車輛>自行車
的類別和子類別。可以理解的是,車輛類別有其獨特的子類別。
問:
我有一類下面的代碼:
public class Listing
{
public Category ListingCategory { get; set; }
public Subcategory ListingSubcategory { get; set; }
public enum Category {
Vehicles,
Guitars,
ExoticAnimals
}
}
我怎樣才能讓類型選擇取決於所選擇的類別,如在後臺的例子嗎? 如果解決方案有效,我很高興不要使用枚舉。
你在做什麼?向我們展示你的代碼 – alexmac
我不認爲類別通常是一個很好的候選者。如果您添加類別,那麼您將需要重新編譯通常不好的代碼。另外我會想象你通常不希望在很多類別之間編譯時間差異。通常我會在數據庫中有一個類別和子類別的表,然後在其結構中內置依賴關係。 – Chris
您可以使用一個名爲Subcategory的類,該類包含Category作爲屬性。 (就像'class Subcategory {public Category Category {get; set;}}',使用Subcategory作爲你的Listing類中唯一的屬性) – Diamondo25