我有一個打印字符串列表的方法GenerateOutput
。該方法將多個枚舉作爲參數,並根據哪些標誌被輸入到方法中輸出結果。我知道枚舉是爲編譯時間設計的,但是可以根據用戶在程序中選擇的選項在運行時更改輸出嗎?基本上,我有各種代表可能的枚舉的複選框。當用戶選擇一個選項時,應將該標誌作爲參數添加到GenerateOutput
方法中。這可以做到嗎?謝謝運行時輸入枚舉
Q
運行時輸入枚舉
0
A
回答
3
我想你想做什麼(我不知道我完全理解你的問題)是在運行時建立一個枚舉值傳遞給函數。
假設你的枚舉與[國旗]屬性指定:
[flags]
public enum TestEnumerations
{
Value1 = 1,
Value2 = 2,
Value3 = 4,
//etc
}
,那麼你可以這樣做:
// In checkbox handlers, e.g.
tEnums |= TestEnumerations.Value1;
// Where you call the method
GenerateOutput(tEnums);
另外,如舊金山的意見建議,有一個List列表(或HashSet如果你只想要每個枚舉值出現一次):
// In checkbox handlers, e.g.
list.Add(TestEnumerations.Value1);
// Where you call the method
GenerateOutput(list);
+0
謝謝。我不知道你可以做'| ='。這應該做到這一點。 – Brap 2010-12-15 20:27:10
+1
只有當值爲2的冪並且設置了[flags]屬性時它纔會起作用。 – 2010-12-15 20:28:02
相關問題
- 1. 在運行時枚舉UISupportedExternalAccessoryProtocols
- 2. 如何在枚舉類型僅在運行時知道枚舉枚舉?
- 3. 數組枚舉和輸入
- 4. 枚舉和用戶輸入
- 5. 在運行時創建/修改枚舉
- 6. 運行時枚舉scala中的描述
- 7. 編譯/運行時Java枚舉評估
- 8. C#在運行時切換枚舉
- 9. 枚舉和類 - 運行時錯誤!
- 10. 在運行時枚舉類的事件
- 11. 在運行時更改枚舉值?
- 12. 運行時更改枚舉Java
- 13. 在運行時枚舉.NET嵌入式資源的內容
- 14. MVC3隱藏與枚舉。輸入的值是枚舉鍵不值?
- 15. 位運算枚舉
- 16. 在C/gcc中輸入枚舉類型
- 17. 從鍵盤輸入到枚舉的值
- 18. 輸入從流到枚舉類型
- 19. 基於枚舉輸入的返回類
- 20. C - 獲取輸入類型枚舉
- 21. Excel UDF - 枚舉/解釋輸入
- 22. 枚舉Delphi中的運行進程
- 23. 枚舉的VBScript運行關鍵
- 24. MySQL插入(枚舉?)
- 25. Autofac注入枚舉
- 26. 將字符串輸入與枚舉類型進行比較
- 27. 在內部枚舉行加入
- 28. PostgreSQL枚舉時空
- 29. 枚舉輸出錯誤
- 30. 枚舉作爲運算
請把你的例子/代碼r GenerateOutput函數 – Francisco 2010-12-15 19:35:36
這只是測試代碼,以使其工作。該方法僅僅是'void GenerateOutput(TestEnumerations tEnums)'並將'tEnums'值打印到控制檯。我想在運行時輸入多個tEnums。 – Brap 2010-12-15 19:47:04
爲什麼不輸入多個tEnums,例如,逗號或其他字符,然後解析它在你的方法?像:t1,t2然後使用string.split(','),然後Enum.Parse爲每個值? – Ostap 2010-12-15 20:05:40