作者kairy (血腹獸)
看板C_Sharp
標題[問題] 請問一段程式碼
時間Wed Sep 24 18:19:33 2008
是從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)
1F:推 saitoh:你轉出來的語法是怎樣?不要告訴我你還是用Class.forName 09/24 20:40
2F:→ sryang:Assembly assembly = Assembly.Load(assemblyName); 09/24 22:16
3F:→ sryang:Object obj = assembly.CreateInstance(className); 09/24 22:17
4F:→ kairy:用vs的轉換精靈換過來的code是 09/25 09:16
5F:→ kairy:System.Type c = System.Type.GetType(className); 09/25 09:16
6F:→ kairy:System.Object obj = System.Activator.CreateInstance(c); 09/25 09:16
7F:→ kairy:但是用這種方法跑出來的的c是null~就會有exception了 09/25 09:17
8F:推 saitoh:className要有完整的namespace 不能只有class的名稱 09/25 09:20
9F:→ kairy:謝謝樓上,加上namespace就可行了,感恩 09/25 10:30
10F:→ kairy:看來轉換精靈轉的code沒錯:)~謝謝 09/25 10:31