何时使用委托而不使用接口(C# 编程指南)
2016-04-28 17:22
337 查看
重要说明 | 此文档可能不是当前开发最佳做法的代表,下载链接和其他资源可能不再有效。当前推荐的版本可从此处获得。 ArchiveDisclaimer |
在以下情况中使用委托:
当使用事件设计模式时。
当封装静态方法可取时。
当调用方不需要访问实现该方法的对象中的其他属性、方法或接口时。
需要方便的组合。
当类可能需要该方法的多个实现时。
在以下情况中使用接口:
当存在一组可能被调用的相关方法时。
当类只需要方法的单个实现时。
当使用接口的类想要将该接口强制转换为其他接口或类类型时。
当正在实现的方法链接到类的类型或标识时:例如比较方法。
使用单一方法接口而不使用委托的一个很好的示例是 IComparable 或 IComparable。IComparable 声明 CompareTo 方法,该方法返回一个整数,以指定相同类型的两个对象之间的小于、等于或大于关系。IComparable 可用作排序算法的基础,虽然将委托比较方法用作排序算法的基础是有效的,但是并不理想。因为进行比较的能力属于类,而比较算法不会在运行时改变,所以单一方法接口是理想的。
参考
方法(C# 编程指南)接口(C# 编程指南)
概念
C# 编程指南事件(C# 编程指南)
相关文章推荐
- C#日期时间格式化
- 【ILSpy反编译】C# 写的程序反编译查看是不是也太容易了点吧,太恐怖了。。。
- C# winform编程中多线程操作控件方法
- C# 调用控制台程序,并获取输出写入文件
- C# 正则表达式及常用正则表达式
- c# winform 关于DataGridView的一些操作(很全,绝对够用)
- C# 线程同步
- C# 多线程传参
- C# 委托:把方法组合到一个数组中使用
- C# 多线程---------<一>
- C#中如何申明固定长度的数组
- C#的类成员初始化顺序
- C# Process.WaitForExit()与死锁
- c# bass入门学习
- C#设置当前程序通过IE代理服务器上网
- c# 多层BOM 树形结构
- C# 正则表达式
- C#构造函数里的base和this的区别
- C#事件与委托
- 自学.NET之路-C#编程之基础总结