前言:在实际项目过程中,经常可能遇到被引用的项目要向上传递消息,但是又不能通过方法进行返回等操作,这个时候委托就派上用场了。以下使用委托,来实现被引用的项目向上传递消息的小教程,欢迎各位大佬提供建议。
1、新增控制台项目(一般在CS架构中会用的比较多,用于跨线程传递消息使用)。此处用一个控制台项目来模拟演示使用委托进行消息事件的传递教程。
2、新增了一个.net 6控制台项目,然后先放一边,后面使用。
3、在解决方案下面新增一个类库项目。
4、项目名称,此处叫DelegateTestLibrary
5、在新建的项目里面,新增一个测试类TestService,并在类上面定义一个带有两个string参数的公开的委托TestDelegate(string par1,string par2);
参数类型可以自由定义,用于传递消息使用。
6、然后在类里面新增一个事件,事件类型为委托名称。并且定义一个方法,叫DoDelegateHandle,可以做个简单处理,然后用于给事件传递消息使用。参数可以自定义。或者确保OnTest事件不为null的情况下,也可以省略这一步操作,直接丢数据。
7、新增一个测试方法,用来传递消息。传递的消息参数有当前的数值吗,以及时间。
8、控制台项目引用刚才的类库项目。
9、控制台项目新增一个中间类,用于做测试使用。并且在构造函数内定义事件。
写事件的时候,VS自带快捷键,+=以后,可以按Tab按键,会自动生成一个对应的事件方法,并且参数和委托的参数保持一致。在里面进行修改一些业务就可以了。
10、在控制台program文件里面,实例化刚才的测试对象,然后进行测试。
11、启动项目,可以看到被引用的项目里面执行消息传送的地方(TestService)所发送的消息,被传到了Realization类里面的事件方法里面去了。
12、总结一下:委托和事件在传统的开发过程中很常见,应该很多大佬们都会。如果以前没有玩过委托的大佬们,可以自行尝试玩玩。祝大佬们玩代码愉快~~也欢迎留下宝贵的建议、或点赞或推荐,感谢~~
创作不易,且转且留下出处:https://www.cnblogs.com/weskynet/p/15652569.html