Результаты поиска по запросу "covariance"
Entity Framework: ObjectSet и его (обобщенные) отклонения
Я использую: EntityFramework + POCOВот эта вещь:
виды ошибок, на которые вы ссылаетесь.
4 вводит ковариацию. Я думаю, это полезно. В конце концов, MS прошла через все трудности, добавив его в язык C #. Но почему ковариация более полезна, чем старый добрый полиморфизм? Я написал этот пример, чтобы понять, почему я должен реализовать ...
Этот код теперь компилируется, аргументы типа такие же, как были выше.
ли кто-нибудь предоставить мне простые примеры на C #: конвариантность, контравариантность, инвариантность и противоинвариантность (если такая вещь существует). Все образцы, которые я видел до сих пор, просто бросали какой-то объект вSystem.Object.
, Откат. Спасибо
следующие виды: public interface IMyClass { } public class MyClass : IMyClass { }Интересно, как я могу преобразоватьList<MyClass> кList<IMyClass>? Мне не совсем понятны темы ковариации / контравариантности, но я понимаю, что из-за этого просто ...
Используйте другой тип возврата для
ьте на вопрос кпредыдущий вопрос [https://stackoverflow.com/questions/6390446/interface-inheritance-and-generic-interfaces-force-explicit-casts] это было идентифицировано как проблема совместного отклонения. Если сделать еще один шаг вперед, если ...
Вы не объяснили, почему «ложь достаточно хороша для большинства вызовов этого метода», и вы не объяснили, почему они решили не использовать эту ложь для Array и сделать ее также ковариантной.
мер. Почему val list:List[Any] = List[Int](1,2,3)работать, но val arr:Array[Any] = Array[Int](1,2,3)не удается (потому что массивы являются инвариантами). Каков желаемый эффект этого дизайнерского решения?
Ты прав; пытаясь упростить мой реальный пример, я допустил тривиальную ошибку :-(
ТИРОВАТЬ: Переписать этот вопрос на основе оригинального ответа scala.collection.immutable.Set класс не является ковариантным по своему параметру типа. Почему это? import scala.collection.immutable._ def foo(s: Set[CharSequence]): Unit = ...
приведение 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>Я думаю, что тема, которую я ищу, это "ковариантные типы", ...