重工电子论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 3072|回复: 2
打印 上一主题 下一主题

c# reflection 反射 委托

[复制链接]

287

主题

668

帖子

5657

积分

学生管理组

Rank: 8Rank: 8

积分
5657
跳转到指定楼层
楼主
发表于 2017-9-8 07:02:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 李维强-15级 于 2017-9-25 05:35 编辑

http://www.cnblogs.com/wangshenhe/p/3256657.html
下面是应用
通过函数名字符串执行相应的函数,用反射
[C#] syntaxhighlighter_viewsource syntaxhighlighter_copycode
using System;
namespace Ref
{
    class Program
    {
        static void Main(string[] args)
        {
            SayHello obj = new SayHello();
            Type type = typeof(SayHello);
            type.GetMethod("Say").Invoke(obj, new object[0]);
            Console.ReadKey(true);
        }
    }
 
    class SayHello
    {
        public void Say()
        {
            Console.WriteLine("Hello World!");
        }
    }
}



这里用委托
[C#] syntaxhighlighter_viewsource syntaxhighlighter_copycode
using System;
namespace Ref
{
    delegate  void dgtSayHello();
    class Program
    {
        static void Main(string[] args)
        {
            SayHello obj = new SayHello();
            obj.GetSayHello("SayCn")();
            Console.ReadKey(true);
        }
    }
    class SayHello
    {
        public void Say()
        {
            Console.WriteLine("Hello World!");
        }
        public void SayCn()
        {
            Console.WriteLine("世界你好!");
        }
        public void SayUs()
        {
            Console.WriteLine("Hello World!");
        }
        public dgtSayHello GetSayHello(string methodName)
        {
            switch (methodName)
            {
                case "SayCn":
                    return new dgtSayHello(this.SayCn);
                case "SayUs":
                    return new dgtSayHello(this.SayUs);
                default:
                    return new dgtSayHello(this.Say);
            }
        }
 
    }
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

1

主题

3

帖子

49

积分

新手上路

Rank: 1

积分
49
沙发
发表于 2017-9-22 10:45:11 | 只看该作者
页面404了
回复

使用道具 举报

287

主题

668

帖子

5657

积分

学生管理组

Rank: 8Rank: 8

积分
5657
板凳
 楼主| 发表于 2017-9-25 05:36:02 | 只看该作者

重新贴了个出来
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|cqutlab ( 渝ICP备15004556号

GMT+8, 2024-5-18 21:56 , Processed in 0.149627 second(s), 27 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表