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

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

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值