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

C#反射实例讲解

2007-08-21 10:07 405 查看
创建用于反射使用的DLL
新建一个C#类库项目,拷贝源代码如下,编译生成DLL(假如DLL的文件名是TestReflect.dll)

using System;

namespace Webtest

public void test1()

{

System.Reflection.Assembly ass;

Type type ;

object obj;

try

{

ass = System.Reflection.Assembly.LoadFile(@"d:\TestReflect.dll");

type = ass.GetType("Webtest.ReflectTest");//必须使用名称空间+类名称

System.Reflection.MethodInfo method = type.GetMethod("WriteString");//方法的名称

obj = ass.CreateInstance("Webtest.ReflectTest");//必须使用名称空间+类名称

string s = (string)method.Invoke(obj,new string[]{"jianglijun"}); //实例方法的调用

Response.Write(s+"<br>");

method = type.GetMethod("WriteName");//方法的名称

s = (string)method.Invoke(null,new string[]{"jianglijun"}); //静态方法的调用

Response.Write(s+"<br>");

method = type.GetMethod("WriteNoPara");//无参数的实例方法

s = (string)method.Invoke(obj,null);

Response.Write(s+"<br>");

method = null;

}

catch(Exception ex)

{

Response.Write(ex+"<br>");

}

finally

{

ass = null;

type = null;

obj = null;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: