您的位置:首页 > 编程语言 > C#

C#中利用反射,动态生成类的实例

2005-11-18 13:23 676 查看
在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的构造方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: