博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
委托案例1
阅读量:4449 次
发布时间:2019-06-07

本文共 1889 字,大约阅读时间需要 6 分钟。

namespace ClsLib //公共层{   public delegate void WriteTimeToDevDelegate();//定义类}namespace ClsLib //公共层{    public class Class1    {        public ClsLib.WriteTimeToDevDelegate WriteTime; //委托        public void DoSth() //公共方法        {            Console.WriteLine("============================================");            Console.WriteLine("============================================");            Console.WriteLine("============================================");            Console.WriteLine("============================================"); //其它的一样就是这部份不同,但是这的的代码也不确定,这个方法中的代码由将来的调用者来决定 //由于这里的代码是不确定的,可变的。所以需要这里用一个变量。将来调用者传递这个变理什么代码就执行什么代码。            WriteTime(); //委托变量            Console.WriteLine("============================================");            Console.WriteLine("============================================");            Console.WriteLine("============================================");            Console.WriteLine("============================================");        }    }}

T1 调用

namespace T1  //T1项目{    class Program      {        static void Main(string[] args)        {            ClsLib.Class1 c1 = new ClsLib.Class1(); //实类化公共类            c1.WriteTime = M1; //把M1方法给委托            c1.DoSth();             Console.ReadKey();        }        static void M1()        {            Console.WriteLine("当前时间:{0}",System.DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"));        }    }}

 T2项目调用

namespace T2 //T2项目{    class Program    {        static void Main(string[] args)        {            ClsLib.Class1 c1 = new ClsLib.Class1();            c1.WriteTime = M1;            c1.DoSth();            Console.ReadKey();        }        static void M1()        {            File.WriteAllText(@"time.txt", System.DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"));            Console.WriteLine("时间已写入到文件中");        }    }}

 

转载于:https://www.cnblogs.com/KevinDai/p/4220119.html

你可能感兴趣的文章
Lua's performance
查看>>
seajs快速了解
查看>>
Java Spring MVC项目搭建(二)——项目配置
查看>>
Async分析
查看>>
js 组件化
查看>>
图的应用:哈密尔顿路径
查看>>
js计算日期相减天数
查看>>
MATLAB实现Catmull-Clark细分(CC细分)
查看>>
jquery 判断元素是否隐藏
查看>>
第一百九十五天 how can I 坚持
查看>>
Swift 入门之简单语法(五)
查看>>
多视几何——三角化求解3D空间点坐标
查看>>
Drag+Drop和MouseClick
查看>>
AWS RDS 使用笔记
查看>>
Puppeteer VS Puppeteer-core
查看>>
Rxjava 执行阻塞的原因分析 tolist() observable.from()等。
查看>>
[转载]解决TCP网络传输“粘包”问题
查看>>
arm裸机驱动错误总结
查看>>
C# 程序性能提升篇-1、装箱和拆箱,枚举的ToString浅析
查看>>
lfs(systemv版本)学习笔记-第3页
查看>>