我有兩個引用相同的預編譯(C#)DLL的項目。 該.dll在其名稱空間中包含公共枚舉,但是: 這兩個項目都必須在此枚舉中使用不同的值。C#在運行時切換枚舉
是否有可能定義類似的東西? (僞代碼)
namespace module
{
#if ConfigurationManager.AppSettings["project"] == "Extern"
public enum Roles
{
Admin = 0,
User = 1,
Vip = 2
}
#else /* "Intern" */
public enum Roles
{
Admin = 0,
Staff = 1,
User = 2
}
#end
}
重要說明:此代碼必須進行預編譯,因此預處理器指令是不可能的。
正如一句忠告,所有'枚舉'本質上是靜態的,所以沒有必要像這樣重新聲明它們。http://stackoverflow.com/questions/4567868/troubles-declaring-static-enum-c-sharp – krillgar
似乎真的有誤導性,我不知道,即使我想知道它是否可能.. –
我不認爲'公共靜態枚舉'中的'靜態'是爲你做任何事情或不會工作 - [麻煩declar靜態枚舉,C#](http://stackoverflow.com/questions/4567868/troubles-declaring-static-enum-c-sharp) – crashmstr