[問題] 請問nested enum用法

看板C_Sharp作者 (初心者)時間6年前 (2018/02/03 18:24), 6年前編輯推噓0(005)
留言5則, 2人參與, 6年前最新討論串1/1
各位前輩好 最近想把switch case用enum來判斷 以下為了版面縮減去掉break; public DataModify xxxx(string table,string column) switch (table) { case "table1": switch (column) case "col1": case "col2": case "table2": case "col3": case "col4": } 想改成 switch (enum_type) { case table1.col1 : case table1.col2 : case table2.col3 : case table2.col4 : } class ModifyCol { enum table1 { col1 = 0, col2 = 1 } enum table2 { col3 = 2, col4 = 3 } } 遇到的問題就是在function參數不知道要怎麼做 public DataModify xxx( ???? ) 變成要宣告成指定的 ModifyCol.table1,但與原先想要達成的效果不太一樣 再麻煩指教一下,enum很少用不太熟,先謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.68.14.54 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1517653472.A.AF2.html ※ 編輯: forkome (219.68.14.54), 02/03/2018 18:47:35

02/03 18:36, 6年前 , 1F
是要分兩個阿,不然就是共用一個enum。否則你想想,如果
02/03 18:36, 1F

02/03 18:37, 6年前 , 2F
你在enum table2裡面加個colx = 0, switch要到哪個?
02/03 18:37, 2F

02/03 18:37, 6年前 , 3F
不然就用強制轉型成數值
02/03 18:37, 3F

02/03 19:13, 6年前 , 4F
但小弟又想可以透過工具用點的方式,得知要改的欄位
02/03 19:13, 4F

02/03 19:14, 6年前 , 5F
例如DataModify.table1.column
02/03 19:14, 5F
文章代碼(AID): #1QTOtWho (C_Sharp)