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
;
}
}
查看全文
相关阅读:
js面对对象编程
MyBatis -- 一步步教你使用MyBatis
简洁常用权限系统的设计与实现(一):构造权限菜单树的N(N>=4)种方法
2014年工作中遇到的20个问题:181-200
2014年工作中遇到的20个问题:181-200
老雷:思儿壮志小诗一首(老爸写得都比我好,让我这个文艺青年情何以堪)(家人对幸福美好生活的追求,就是我的奋斗目标)
老雷:思儿壮志小诗一首(老爸写得都比我好,让我这个文艺青年情何以堪)(家人对幸福美好生活的追求,就是我的奋斗目标)
雷观(十三):功能优先,开发与重构并举,性能殿后
雷观(十三):功能优先,开发与重构并举,性能殿后
URL传递中文参数,大坑一枚,Windows与Linux效果竟然不一致(两种解决方法)
原文地址:https://www.cnblogs.com/engine1984/p/863581.html
最新文章
云计算设计模式(二十)——调度程序代理管理者模式
校园暑期的操场
[Xcode 实际操作]九、实用进阶-(17)使用CGBlendMode改变UIImage颜色,实现对图片进行混合着色
[Xcode 实际操作]九、实用进阶-(16)给图片添加水印效果
[Xcode 实际操作]九、实用进阶-(15)屏幕截屏:截取当前屏幕上的显示内容
[Xcode 实际操作]九、实用进阶-(14)使用富文本CoreText框架创建丰富多彩的文本
[Xcode 实际操作]九、实用进阶-(13)调用相机并获取拍摄后的图片
[Xcode 实际操作]九、实用进阶-(12)从系统相册中读取图片
[Xcode 实际操作]九、实用进阶-(11)系统本地通知的创建和使用
[Xcode 实际操作]九、实用进阶-(10)定位设备的使用
热门文章
[Xcode 实际操作]九、实用进阶-(9)陀螺仪设备的使用
[Xcode 实际操作]九、实用进阶-(8)实现App的Setting设置:添加和读取程序的配置信息
Android获取系统外置存储卡路径的方法
css position: relative,absolute具体解释
Alex 的 Hadoop 菜鸟教程: 第2课 hadoop 安装教程 (CentOS6 CDH分支 yum方式)
Android异步载入全解析之使用AsyncTask
spring bean作用域
hdoj 1455 Sticks 【dfs】
POJ 1611 The Suspects(并查集)
HDU 5355 Cake (WA后AC代码,具体解析,构造题)
Copyright © 2011-2022 走看看