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

3 ответа

Можно ли переопределить свойство и вернуть производный тип в VB.NET?

3 ответа

Почему массивы C # ковариантны и какую пользу это дает?

3 ответа

Entity Framework: ObjectSet и его (обобщенные) отклонения

Я использую: EntityFramework + POCOВот эта вещь:

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

3 ответа

 виды ошибок, на которые вы ссылаетесь.

4 вводит ковариацию. Я думаю, это полезно. В конце концов, MS прошла через все трудности, добавив его в язык C #. Но почему ковариация более полезна, чем старый добрый полиморфизм? Я написал этот пример, чтобы понять, почему я должен реализовать ...

3 ответа

Этот код теперь компилируется, аргументы типа такие же, как были выше.

ли кто-нибудь предоставить мне простые примеры на C #: конвариантность, контравариантность, инвариантность и противоинвариантность (если такая вещь существует). Все образцы, которые я видел до сих пор, просто бросали какой-то объект вSystem.Object.

3 ответа

, Откат. Спасибо

следующие виды: public interface IMyClass { } public class MyClass : IMyClass { }Интересно, как я могу преобразоватьList<MyClass> кList<IMyClass>? Мне не совсем понятны темы ковариации / контравариантности, но я понимаю, что из-за этого просто ...

3 ответа

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

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

3 ответа

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

мер. Почему val list:List[Any] = List[Int](1,2,3)работать, но val arr:Array[Any] = Array[Int](1,2,3)не удается (потому что массивы являются инвариантами). Каков желаемый эффект этого дизайнерского решения?

3 ответа

Ты прав; пытаясь упростить мой реальный пример, я допустил тривиальную ошибку :-(

ТИРОВАТЬ: Переписать этот вопрос на основе оригинального ответа scala.collection.immutable.Set класс не является ковариантным по своему параметру типа. Почему это? import scala.collection.immutable._ def foo(s: Set[CharSequence]): Unit = ...

3 ответа

приведение Java из списка <B> в список <A>, где B расширяет A

Это возможно? если нет, то почему это невозможно в Java? interface B extends A {} public List<B> getList(); List<A> = getList(); // Type mismatch: cannot convert from List<B> to List<A>Я думаю, что тема, которую я ищу, это "ковариантные типы", ...