Это несколько вводит в заблуждение, поскольку интерфейс по определению не обеспечивает реализацию.
Однако многие части инфраструктуры пытаются упростить жизнь - поэтому они предоставляют метод, который принимает интерфейс, но также обеспечивает перегрузку без параметров. Хороший пример: List<T>.Sort
.
Документация здесь предполагает, что, если вы используете метод, который обычно требует IComparer<T>
, но используете его через некоторую перегрузку, которая этого не делает, вы получите вместо этого ссылочную «реализацию по умолчанию».
Однако, это действительно «деталь реализации» классов, не связанных с самим интерфейсом. Я лично думаю, что это плохой выбор слов в документации, и должно быть что-то вроде:
Многие типы в структуре зависят от общей реализации этого интерфейса, предоставляемого
Сравниватель класс.
Это, на мой взгляд, придало бы более ясное значение этому ...