2015-02-06 111 views
0

我嘗試從Visual Studio中的另一個類調用一個方法。我使用從數組到字符串的方法調用但是該示例使用簡單的字符串。從視覺c中的另一個類調用動態方法#

我讀了很多這樣的問題的答案,但仍然不知道出了什麼問題。沒有解決我的問題。 Database.cs的Form1.cs中的

部分

public partial class Form1 : Form 
{ 

    private void Form1_Load(object sender, EventArgs e) 
    { 

     Type type = Type.GetType("Database"); 
     object instance = Activator.CreateInstance(type); 
     MethodInfo theMethod = type.GetMethod("MyMethod"); 
     theMethod.Invoke(instance, null); 

    } 
} 

部分

public class Database 
{ 
    public void MyMethod() 
    { 
     MessageBox.Show("Test2"); 
    } 
} 

腳本無法執行,因爲線object instance = Activator.CreateInstance(type);返回錯誤System.ArgumentNullException

請幫我修復這個腳本。

P.S.對不起,我的英語 - )

+0

什麼是你想達到這個參數? – mfeineis 2015-02-06 13:17:56

+0

異常說明參數爲空。你確定Type.GetType(「數據庫」)返回你想要的類型嗎? – 2015-02-06 13:18:47

+0

嘗試在'Type.GetType()'調用中包含名稱空間(或者如果不在同一個程序集中,則爲程序集限定名稱)。 – 2015-02-06 13:19:27

回答

3

異常導致,因爲type.GetType("Database")返回null

的你應該通過完全合格的命名空間,就像下面

type.GetType("namespace.Database"); 
+0

非常感謝! – user3650075 2015-02-06 13:25:20

相關問題