=波波日志 > Asp.Net/C#/WCF > 反射-后期绑定(Type.InvokeMember()方法)=
[转]反射-后期绑定(Type.InvokeMember()方法)
+展开
-C#
///前面的几篇文章写的是怎样实例化一个未知的类
///那么这篇文章写的就是前几篇文章下面要做的事
///得到实例化对象后,怎样使用类中的方法:
///也就是后期绑定
///
using System;
using System.Reflection;
class program
{
static void Main()
{
//通过AppDomain.CurrentDomain.CreateInstanceAndUnwrap()方法实例化一个未知类
object obj = AppDomain.CurrentDomain.CreateInstanceAndUnwrap("wangjun","wangjun.wangjun");
//从未知类中得到对象实例的类型
Type type = obj.GetType();
//新建参数对象
object[] parameters = new object[2];
//给新建的参数对象赋值
parameters[0] = 7;
parameters[1] = 8;
//调用type.InvokeMember()方法使用未知类的方法Sum() 同时也得到了方法的返回值result
int result = (int)type.InvokeMember(
"Sum", //调用的方法
BindingFlags.InvokeMethod, //使用BindingFlags.InvokeMethod枚举
null, //设为空即可
obj, //调用方法的对象
parameters //调用方法的参数
);
//打印方法的返回值
Console.WriteLine("7 + 8 = {0}",result);
}
}
///那么这篇文章写的就是前几篇文章下面要做的事
///得到实例化对象后,怎样使用类中的方法:
///也就是后期绑定
///
using System;
using System.Reflection;
class program
{
static void Main()
{
//通过AppDomain.CurrentDomain.CreateInstanceAndUnwrap()方法实例化一个未知类
object obj = AppDomain.CurrentDomain.CreateInstanceAndUnwrap("wangjun","wangjun.wangjun");
//从未知类中得到对象实例的类型
Type type = obj.GetType();
//新建参数对象
object[] parameters = new object[2];
//给新建的参数对象赋值
parameters[0] = 7;
parameters[1] = 8;
//调用type.InvokeMember()方法使用未知类的方法Sum() 同时也得到了方法的返回值result
int result = (int)type.InvokeMember(
"Sum", //调用的方法
BindingFlags.InvokeMethod, //使用BindingFlags.InvokeMethod枚举
null, //设为空即可
obj, //调用方法的对象
parameters //调用方法的参数
);
//打印方法的返回值
Console.WriteLine("7 + 8 = {0}",result);
}
}
来源:http://2sws.blog.163.com/blog/static/179102492009843457907/
类别:Asp.Net/C#/WCF 作者:转载 日期:2010-12-03 【评论:0】
相关文章
暂时没有评论!
发表留言
热门博文
- IE里Cookie跨域不能读取
- web服务因URL意外地以/**结束,请求格式无法识别
- 去掉隐藏asp.net编译出错aspxerrorpath错误参数
- 解决asp.net验证视图状态 MAC 失败
- 找不到System.Web.Script.Services.ScriptService
- 在aspx,ashx页面挂起线程执行
最新博文
- WCF利用限流(Throttling)控制并发访问[下篇]
- WCF利用限流(Throttling)控制并发访问[上篇]
- ConcurrencyMode.Multiple模式下的WCF服务同步上下文对并发的影响[下篇]
- ConcurrencyMode.Multiple模式下的WCF服务同步上下文对并发的影响[上篇]
- WCF基于ConcurrencyMode.Reentrant模式下的并发控制机制
- C#如何设置标记方法等为否决的不可用
随机博文
- 19.5 WPF开发基础小结
- WCF事务编程(二)
- sys未定义解决办法总结
- Web.config配置
- C#用户自定义控件中Page.FindControl找不到控件
- Server.Transfer和Response.Redirect详细介绍
广告商赞助

