我已經看到了這個主題:Creating an instance from a class name如何獲得給定類名的類的實例?
,寫這樣的代碼:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
object obj = Activator.CreateInstance(null, "MyClass");
MyClass t = (MyClass)obj;
t.My1 = 100;
MessageBox.Show(t.My1.ToString());
}
}
public class MyClass
{
public int My1 { get; set; }
public int My2 { get; set; }
}
然而,當它的運行有一個例外:
Could not load type 'MyClass' from assembly 'Test_Reflection, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
我有另外一個問題。我在一個有一些財產的集會上有一堂課。在另一個程序集中,我想創建它的實例並通過使用stringy類名稱輸入其中的一個來訪問它的屬性。我怎樣才能做到這一點?
您確定您確實在閱讀您鏈接的答案嗎? – Jon 2011-03-12 13:02:44
嘗試指定名稱空間。 – 2011-03-12 13:04:14
是的,我傳入null,因爲MyClass在Current Assembly中找到 – Arian 2011-03-12 13:05:11