我在许多文档示例中看到过这种说法,例如here
这究竟是什么意思?感谢此类是“ISomeInterface”接口的默认实现
答案 0 :(得分:9)
这有点误导,因为根据定义,接口不提供任何实现。
然而,框架的许多部分都试图让生活更轻松 - 因此它们提供了一个接受接口的方法,但也提供了一个没有参数的重载。一个很好的例子是List<T>.Sort
。
这里的文档建议,如果你使用的方法通常需要IComparer<T>
,但是通过一些没有的重载使用它,你将获得引用的“默认实现”。
但是,这实际上是与接口本身无关的类的“实现细节”。我个人认为这在文档中的选择很差,应该更像是:
框架中的许多类型依赖于此接口提供的常见实现 Comparer 类。
在我看来,这会为此提供更明确的含义......
答案 1 :(得分:3)
这意味着当你在没有参数的情况下调用Sort方法时(没有明确指定比较器),它将使用这个默认实现。
答案 2 :(得分:0)
这意味着这个类是实现接口的类。它指向实现接口本身的对象,没有任何派生或继承的成员,但显然是接口。这是与此接口直接对应的类。
public interface IComparer {
// Some members to implement here.
}
public class Comparer : IComparer {
// IComparer members implementation
}