2011-03-14 133 views
0

我使用C.我必須大枚舉,其中一個菜單ID和窗口ID之一。目前,它們是通過一個數組映射到對方的,因此必須將這些元素完美地放入數組中,並且只要做了某些更改就必須將其全部放回到正確的位置。將菜單映射到窗口的更好方法是什麼?謝謝如何將一個枚舉的元素映射到另一個枚舉?

回答

0

你是否明確地給每個enum的成員分配值?菜單ID如何映射到窗口ID?你可以發佈一部分枚舉作爲例子嗎?

如果enums很長,這可能是一個很好的候選代碼生成腳本。將您的ID存儲在(例如)列出匹配的窗口ID和菜單ID對的CSV文件中。然後,編寫一個分析CSV文件的腳本,並生成一個包含適當的enum定義的標題。如果您使用makefile(或類似的)構建項目,那麼將這種自動生成的頭文件集成到構建系統中應該相當簡單。

+0

菜單ID和窗口ID都是從XML生成的,但它們之間是完全分離的,因爲窗口不僅僅用於菜單。我沒有明確地給枚舉賦值,只是一個函數,它從當前輸入menuID的元素處的一個窗口數組返回窗口。 – Ayeayeron 2011-03-14 23:53:24

+0

菜單ID是與窗口ID一對一映射的嗎?更好的是,你可以發佈一些示例代碼來了解你當前的代碼正在做什麼(enum的一部分加上你提到的函數的例子)? – bta 2011-03-15 00:25:12

相關問題