Результаты поиска по запросу "covariance"

2 ответа

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

ю об использованииco- а такжеcontravariance в стандартной библиотеке (например, коллекции и чертаFunction) Я удивляюсь, какco- а такжеcontravariance используются в дизайне бизнес-приложений "реального мира".

1 ответ

Таким образом, если у вас есть ситуация, когда применяется класс SAM, это, вероятно, место для смешанной противоречивости и ковариации.

овленРеальные примеры со-и контравариантности в Scala [https://stackoverflow.com/questions/5277526/real-world-examples-of-co-and-contravariance-in-scala] Я думал, что лучший вопрос будет: При разработке библиотеки, есть ли конкретный набор ...

9 ответов

Я сделаю это так:

отаю с платформой .NET и действительно хочу иметь возможность создавать страницы нестандартного типа, которые использует весь мой веб-сайт. Проблема возникает, когда я пытаюсь получить доступ к странице из элемента управления. Я хочу ...

ТОП публикаций

4 ответа

IReadOnlyList реализован так:

ел бы коллекцию Covariant, элементы которой можно получить по индексу. IEnumerable - это единственная коллекция .net, о которой я знаю, это Covariant, но она не имеет поддержки индекса. В частности, я хотел бы сделать это: List<Dog> dogs = new ...

6 ответов

Это совсем не то, как дженерики работают в .NET. Вы описываете, как работают шаблоны в C ++. В .NET универсальный тип генерируется как один тип, и затем во время выполнения джиттер создает новый код для каждого экземпляра с типом значения, и один экземпляр используется для всех ссылочных типов.

я есть список объектов, которые относятся к моему типуQuoteHeader и я хочу передать этот список в виде списка объектов в метод, который может принятьList<object>. Моя строка кода читает ... Tools.MyMethod((List<object>)MyListOfQuoteHeaders);Но ...

2 ответа

Скала контравариантности и ковариации

Я поигрался с системой типов scala и обнаружил странный случай. У меня есть веская причина верить, я не понимаю ковариантности и ковариации. Это мой проблемный случай: У меня есть два класса, Point и ColorPoint, который является подклассом ...

4 ответа

Проблема дисперсии в C #: присвоение списка <Derived> как списка <Base>

Посмотрите на следующий пример (частично взят изБлог MSDN [http://blogs.msdn.com/ericlippert/archive/2007/10/17/covariance-and-contravariance-in-c-part-two-array-covariance.aspx] ): class Animal { } class Giraffe : Animal { } static void ...

3 ответа

Используйте другой тип возврата для

ьте на вопрос кпредыдущий вопрос [https://stackoverflow.com/questions/6390446/interface-inheritance-and-generic-interfaces-force-explicit-casts] это было идентифицировано как проблема совместного отклонения. Если сделать еще один шаг вперед, если ...

6 ответов

Попробуйте {return SmartPtr <Q> (t); } Компилятор скажет вам, можно ли присвоить T * Q * без всех приведений. Убедитесь, что ваша логика подсчета ссылок может разделять счетчик ссылок между типами шаблонов. Подсчет ссылок int * должен быть в состоянии.

ствую, что об этом уже спрашивали, но я не могу найти его на SO, и при этом я не могу найти ничего полезного в Google. Может быть, слово «ковариантный» - это не то слово, которое я ищу, но эта концепция очень похожа на ковариантные ...

1 ответ

Brilliant! Спасибо! Мне действительно пора углубиться в поддержку .Net 4.0 для согласованности и противоречивости. Как только вы набрали ответ, я увидел, что IEnumerable поддерживает коваризацию, но другие вещи, такие как IList, не ... так что еще раз спасибо за связку! --- Кстати, небольшое исправление в вашем решении - если тип возвращаемого значения IEnumerable, но если вы хотите, чтобы он был IQueryable, добавьте к нему «.AsQueryable».

аюсь объединить (объединение или конкат) два списка / коллекции в один. Два списка имеют общий базовый класс. например Я пробовал это: IQueryable<ContractItem> contractItems = myRepository.RetrieveContractItems(); IQueryable<ChangeOrderItem> ...