在java語言中,運用Class.Class.forName(),可以根據一個類的類名(Type?),動态生成這個類的一個執行個體,在C#中該如何進行這樣的操作呢?方法如下:
System.Activator.CreateInstance(Type.GetType(string))
其中的string代表需要建立的類的類名,注意,該名稱包含命名空間。
例子:
在Hiber命名空間下建立兩個類,一個叫做Test
using System;
namespace Hiber
{
public class Test
{
public Test()
{
Console.WriteLine("Test Class");
}
}
}
另一個類(程式入口)叫做TestEntry
using System;
namespace Hiber
{
class TestEntry
{
[STAThread]
static void Main(string[] args)
{
object temp = System.Activator.CreateInstance(Type.GetType("Hiber.OracleTest"));
}
}
}
運作,可以看到控制台列印出“Test Class”,即調用了Test的構造方法