在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的构造方法