我想采用一个.NET类(为了讨论而让我们说FileInfo)并让它实现我的接口.例如:
public interface IDeletable { void Delete(); }
请注意,FileInfo DOES具有Delete()方法,因此该接口可能有意义.
这样我就可以得到这样的代码:
FileInfo fileinfo = ...; DeletObject(fileInfo); public void DeleteObject(IDeletable deletable) { deletable.Delete(); }
是否可以使现有的类匹配这样的接口?
肖恩
Neil Barnwel.. 5
不.您需要适配器模式.这为您提供了一个实现所需接口的类,并为您"适应"框架类接口.这意味着您的界面设计甚至不必与框架类的界面完全匹配.
正如Marc Gravell在另一个答案中指出的那样,你可能会欺骗并使用扩展方法.
不.您需要适配器模式.这为您提供了一个实现所需接口的类,并为您"适应"框架类接口.这意味着您的界面设计甚至不必与框架类的界面完全匹配.
正如Marc Gravell在另一个答案中指出的那样,你可能会欺骗并使用扩展方法.