Почему IStructuralEquatable и IStructuralComparable не являются универсальными? - PullRequest
8 голосов
/ 11 февраля 2011

System.Collections.IStructuralEquatable и System.Collections.IStructuralComparable были добавлены в .NET 4, но почему они не являются общими, как IEquatable<T> и IComparable<T>?

1 Ответ

4 голосов
/ 11 февраля 2011

Пример на MSDN дает часть ответа здесь;кажется, что это полезно для гетерогенного равенства, а не для однородного равенства - то есть для проверки, должны ли два объекта (/ значения) потенциально разных типов считаться равными.В таких сценариях крайне вероятно, что вызывающий код имеет дело с object (для представления разнородных данных).И тогда общие методы не очень хороши.

...