=波波日志 > 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);
    }
}


来源:http://2sws.blog.163.com/blog/static/179102492009843457907/
类别:Asp.Net/C#/WCF 作者:转载 日期:2010-12-03 【评论:0】 
 
暂时没有评论!
发表留言
  • *昵称:
  • 头像:
  • 电子邮件: [留下您的邮件,方便管理员回复您。]
  • 个人网站: *验证码:
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载或引用的作品侵犯了您的权利,请通知我们,我们会及时删除!
Powered by showbo,©2012,桂ICP备05005887号 京公网安备1101055090