zoukankan
html css js c++ java
C#反射实例讲解
创建用于反射使用的DLL
新建一个C#类库项目,拷贝源代码如下,编译生成DLL(假如DLL的文件名是TestReflect.dll)
using
System;
namespace
Webtest
{
/**/
/**/
/**/
///
<summary>
///
ReflectTest 的摘要说明。
///
</summary>
public
class
ReflectTest
{
public
ReflectTest()
{}
public
string
WriteString(
string
s)
{
return
"
欢迎您,
"
+
s;
}
/**/
/**/
/**/
///
<summary>
///
dsajkjflasjdfalksdjfaskfd
///
</summary>
///
<param name="s"></param>
///
<returns></returns>
public
static
string
WriteName(
string
s)
{
return
"
欢迎您光临,
"
+
s;
}
public
string
WriteNoPara()
{
return
"
您使用的是无参数方法
"
;
}
}
}
2 应用于反射的例子
在ASPNET页面中加入以下函数:
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
;
}
}
查看全文
相关阅读:
笔记本搜不到无线网络连接[转]
局域网IP冲突
CFree 修改/添加编译配置环境(Build Configuration)
字母索引网页
NAOChoregraphe"单机使用许可证使用了多次"问题解决方案
redis源码笔记-dict.c
redis源码笔记-sds
redis源码笔记-testhelp
redis源码笔记-endian
redis源码笔记-dict.h
原文地址:https://www.cnblogs.com/engine1984/p/863581.html
最新文章
Windows程序内部运行原理
winform窗体中嵌入网页(DHTML代码和winfrom应用程序交互)
.h和.cpp文件的区别(zt)
Res协议在.net中运用
FastReport Studio 3之打印预览功能
Winform项目开发心得
常用正则表达式
C#中i=i++值不变的一个解释
GridView 中 DataFormatString 的使用
关于ORM的应用
热门文章
切换windows网络共享访问用户
验证数字的正则表达式集
NET下的流程图开发包介绍
string.Empty和null三者的区别
关于Asp.net中的ViewState、Session....等的总结
在PictureBox加载图片时,显示等待,加载完毕后再显示真正的图片
matlab在3维空间非xy平面绘制直方图
关于Matlab p文件,asv文件和mat文件[转]
优秀的Web学习网站(不定期更新)
mstsc远程服务器提示终端服务器超出了最大允许连接数
Copyright © 2011-2022 走看看