看板 C_Sharp 關於我們 聯絡資訊
是從java看來的 是java的code 可以在執行期間透過這個method動態產生對應的Object 我有嘗試用轉換把java轉成c#的語法 卻沒辦法正常執行 想請教各位板友 這種寫法如果用C#該如何達成呢? 謝謝 public static Object getObject(string className) { try { Class c = Class.forName(className); Object obj = c.newInstance(); return obj; } catch(Exception e) { return null } } -- Sound Horizon音律地平線 每一首歌就是代表著一個故事 鋼琴譜 http://blog.xuite.net/kairytwo/MyScore -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.56.13.124 ※ 編輯: kairy 來自: 61.56.13.124 (09/24 18:20)
saitoh:你轉出來的語法是怎樣?不要告訴我你還是用Class.forName 09/24 20:40
sryang:Assembly assembly = Assembly.Load(assemblyName); 09/24 22:16
sryang:Object obj = assembly.CreateInstance(className); 09/24 22:17
kairy:用vs的轉換精靈換過來的code是 09/25 09:16
kairy:System.Type c = System.Type.GetType(className); 09/25 09:16
kairy:System.Object obj = System.Activator.CreateInstance(c); 09/25 09:16
kairy:但是用這種方法跑出來的的c是null~就會有exception了 09/25 09:17
saitoh:className要有完整的namespace 不能只有class的名稱 09/25 09:20
kairy:謝謝樓上,加上namespace就可行了,感恩 09/25 10:30
kairy:看來轉換精靈轉的code沒錯:)~謝謝 09/25 10:31