c# - 传递接口(interface)而不是对象实例

标签 c# .net oop interface

以 SqlBulkCopy.WriteToServer() 方法为例。其中一个重载将 IDataReader 作为参数。我的问题是,将接口(interface)传递给方法而不是对象实例本身有什么好处/优势?

http://msdn.microsoft.com/en-us/library/434atets.aspx

最佳答案

对于一个接口(interface),你可以有多种可能的实现。依赖抽象(在本例中为接口(interface))比实际的具体类更好 - 这允许更好的灵 active 和可测试性。

这也将重点放在 WriteToServer() 方法真正需要的东西上——它的契约唯一需要的是调用者传入 任何 的实例提供由 IDataReader 接口(interface)声明的方法/属性的具体类。

关于c# - 传递接口(interface)而不是对象实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7058511/

相关文章:

c# - 在 Entity Framework 4.1 中查询数据页面并获取总数的更好方法?

c# - 如何在 C# 中更改 NaN 字符串表示形式?

c# - 什么时候函数内的局部变量*实际上*被分配

c# - 当没有当前项时,如何禁用绑定(bind)到当前项的 ICommand 的按钮?

C# POST 请求到 webapi 使用控制台程序

c# - 具有嵌套类的 Lambda

c++ - 即使在显式调用析构函数后自动销毁对象

java - 很难理解引用类型的工作原理

c# - Include 返回的 Entity Framework 限制属性

php - PHP 并行计算的数据库架构最佳实践?