3
我想做一些類似partial enum
的事情。如果我知道C#不支持這個。我的想法是在MyClass2
中做Dictionary<PartialEnum, MyClass>
。字典包含從文件加載的一些屬性,我想有可能添加一些其他「屬性」(PartialEnum
的成員)。我正在使用Roslyn,因此我可以在運行時編譯枚舉的某些「第二」部分,但不知道如何去做。 (partial static class
也不支持,所以我不能用public readonly
成員)在運行時編譯的部分枚舉 - 替代
MyClass{
string value;
public string Value{
get{ return value;}
}
}
MyClass2{
private Dictionary<PartialEnum,MyClass> properties;
}
我可以使用string
像鑰匙,但它是不是很漂亮。那麼,是否可以做這樣的事情:
partial enum PartialEnum{
Name,
Group, ...
}
和運行時編譯部分
partial enum PartialEnum{
runTimeLasName,
runTimeTitle, ...
}
'enum'在編譯時提供對命名值的支持。你試圖在運行時編譯它們有什麼好處?無論代碼如何接受'enum'實際上只是接受'enum'使用的任何值,在C#中這個默認值是'int'。您的動態枚舉值可以在運行時在沒有任何編譯的情況下使用,只要您將相關值簡單地轉換爲枚舉類型,然後將其輸入到使用該類型的方法。它不會與任何已知的價值相關聯,但會保持其基礎價值。無論如何,在運行時你都不會在意這件事。 – 2013-04-22 09:24:51
支持'static partial class'。但我不確定這會對你有幫助,因爲你不能在編譯時創建一個類的一部分,然後在運行時添加一些東西。 – svick 2013-04-22 12:21:46