【发布时间】:2011-10-26 21:00:14
【问题描述】:
以 SqlBulkCopy.WriteToServer() 方法为例。其中一个重载将 IDataReader 作为参数。我的问题是,将接口传递给方法而不是对象实例本身有什么好处/优势?
【问题讨论】:
-
如果您想了解更多关于这种编程风格的理由,请查找关键字“多态性”。
-
即使一个方法有一个
IDataReader参数,它仍然会得到一个对象实例......即实现该接口的任何类型之一。您不能将接口本身传递给方法(Type对象除外)。 -
@stakx 所以基本上调用者方法将使用传递的对象,而不管接口在该对象实例中是如何实现的?