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

1 ответ

Параметр должен быть безопасным для ввода ошибки

Вот часть моего кода:

4 ответа

Вопрос о ковариантности C #

9 ответов

Преобразовать список <DerivedClass> в список <BaseClass>

Хотя мы можем наследовать от базового класса / интерфейса, почему мы не можем объявитьList<> используя тот же класс / интерфейс? interface A { } class B : A { } class C : B { } class Test { static void Main(string[] args) { A a = new C(); // OK ...

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

1 ответ

Договорились, а как насчет обновленной версии?

t можно использовать обобщенные значения, чтобы функция могла принимать аргументы, которые поддерживают один или несколько интерфейсов, и являются производны...

7 ответов

@ Райан Я должен был заменить T базовым классом ExistingEmployee и NewEmployee

8 ответов

Почему массивы ковариантны, а дженерики инвариантны?

От Эффективной Явы Джошуа Блоха, Массивы отличаются от универсального типа двумя важными способами. Первые массивы ковариантны. Обобщения являются инвариантами.Ковариант просто означает, что если X является подтипом Y, то X [] также будет ...

3 ответа

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

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

3 ответа

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

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

1 ответ

@ RenéVogt рад помочь

тим, у нас есть интерфейс как public interface IEnumerable<out T> { /*...*/ }этосо-вариант вT. Затем у нас есть другой интерфейс и класс, реализующий его: public interface ISomeInterface {} public class SomeClass : ISomeInterface {} Теперь ...

3 ответа

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

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