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的构造方法
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的构造方法
相关文章推荐
- 【经典实例】利用C#反射动态编译代码,创建类的实例,并调用其成员
- c# 利用反射 从json字符串 动态创建类的实例 并动态为实例成员赋值
- C#利用反射动态创建对象 带参数的构造函数和String类型 (转载)
- C#动态执行函数:利用反射实现
- 利用反射来动态创建实例和调用方法(上)
- (C#)利用反射动态调用类成员
- 利用Ext Js生成动态树实例代码
- (C#)利用反射动态调用类成员[转载]
- 利用Ext Js生成动态树实例代码
- 【转】C# 利用反射动态创建对象
- C# 利用反射机制动态构建配置文件中类的对象
- C#利用反射实现(js)Eval,asp(Execute)功能 动态执行类库中的函数
- java反射并不是什么高深技术,面向对象语言都有这个功能,而且功能也很简单,就是利用jvm动态加载时生成的class对象
- C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值
- (C#)利用反射动态调用类成员[转载]
- C# 利用反射动态创建对象
- 利用反射加载配置文件中的类动态生成集合
- C#利用反射机制,获取实例的属性和属性值
- C# 利用反射动态创建对象[摘录]
- C# 利用反射动态加载dll