Вопрос

Согласно документации MSDN на StringComparer.OrdinalIgnoreCase свойство:

Свойство Ordinalignerecase фактически возвращает экземпляр анонимного класса, полученного из Stringcomparer класс.

Это особенность я незнакома с анонимными типами с наследством? Или «анонимным классом», автор просто означал «внутренний класс, вытекающий из StringComparer, Не виден для кода клиента "?

Это было полезно?

Решение

Если вы посмотрите на исходный код для StringComparer, вы можете увидеть, что OrginalignoRecase возвращает экземпляр OrdinalComparer, который получен из StringComparer.

Там нет ничего «анонимного» об этом, что я вижу, это просто это внутренний Таким образом, вы не можете видеть это из-за пределов структуры.

Другие советы

Это не анонимный тип в обычном смысле C # термин.

Это просто тип, который является внутренним, поэтому вы не знаете название IT: вы не можете ссылаться на точный тип в вашем коде.

То компилятор Можете создать анонимные типы, которые наследуют от другого типа - вы не можете. Это слишком плохо, действительно, так как это будет крутая функция для создания анонимного типа на лету, которая либо наследует из другого класса, либо реализует интерфейс.

Анонимный тип аноним нам не CLR и поставку. Компилятор использует забавное название, которое включает в себя <> на имя, и только компилятор может сделать это! и Может быть, Чак Норрис...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top