接口的显示实现

接口实现除了一般的隐式实现外,还有第二种方式:显示实现。explicit implement
隐式实现可以同时用接口类型和子类型的实例调用,而显示实现只能用接口类型的实例调用。也就是说,显示实现时,类实例没有权限调用接口中的方法。
并且,同时一个类可以同时用显示和隐式实现接口的同一个方法。
那么,显示接口有什么用呢?

根据http://stackoverflow.com/questions/143405/c-sharp-interfaces-implicit-implementation-versus-explicit-implementation
显示实现可以帮助:
1)让实现的类与接口解耦。
2)再某些特殊情况下必须这么做,如IEnumerable 和IEnumerable<T>
另外:微软不建议显示实现接口,因为这导致代码有意料外的行为。

原文地址:https://www.cnblogs.com/Benjamin/p/3289793.html