У меня есть некоторые проблемы наследования, поскольку у меня есть группа взаимосвязанных абстрактных классов, которые должны все быть переопределены вместе для создания клиентской реализации. Идеально я хотел бы сделать...
Кажется, что Объект списка не может быть сохранен в переменной Списка в C# и не может даже быть явно брошен тот путь. Список <строка> sl = новый Список <строка> (); Список <объект> ol; ol = sl;...
Я знаю, почему не нужно делать этого. Но есть ли способ объяснить неспециалисту, почему это не возможно. Можно объяснить это неспециалисту легко: животное Животных = новая Собака ();. собака является своего рода животным, но...
Рассмотрите эти классы. класс Основа {...}; Полученный класс: общедоступная Основа {...}; эта функция освобождает BaseFoo (станд.:: вектор <Основа*> vec) {...} И наконец мой векторный станд.:: вектор <...
Я использую w7, 64bit и vs.net 2010. Я добавляю ссылку на компонент, который находится в моем диалоговом окне «Добавить ссылки». Компонент является сторонним dll. Исторически сложилось, что на w7 32bit это добавило бы ...
Насколько я знаю, что не возможно сделать следующее в Родительском элементе класса общественности C# 2.0 {общедоступный виртуальный Родительский элемент, который SomePropertyName {получают {возвращают это; }}...
Там путь состоит в том, чтобы переопределить типы возврата в C#? Раз так, как, и если не, почему и что такое рекомендуемый способ сделать его? Мой случай - то, что у меня есть интерфейс с абстрактным базовым классом и потомками...
Вариант использования - некоторые что как это: общедоступный класс SomeClass: ICloneable {//Некоторый Код//Реализующий общественность метода интерфейса возражают Клону () {//Некоторый Код Clonning}}...
Этот вопрос задали здесь несколько часов назад и сделали мной, понимают, что я на самом деле никогда не использовал ковариантные типы возврата в своем собственном коде. Для не уверенных, какова ковариантность, она позволяет возврат...
Я записал эту удобную, родовую функцию для преобразования набора наборов в единственный набор: общедоступные помехи <T> <T> makeSet Набора (Набор <Набор <T>> a_collection) {...
Я чувствую, что этого спросили прежде, но я неспособен найти его на Так, и при этом я ничто не могу найти полезным на Google. Возможно, "ковариантный" не слово, которое я ищу, но это понятие очень...
Я пытаюсь переопределить свойство в базовый класс с другим, но производным типом с тем же именем. Я думаю, что это возможно с помощью ковариации или дженериков, но я не уверен, как это сделать? Следующее ...
Недавно я нашел очень удивительное поведение в c#. У меня был метод, который берет IEnumerable <Объект> в качестве параметра, и я передавал IEnumerable <строка>, но это не возможно. В то время как в c#...
Почему это не работает? Разве я не понимаю ковариантности делегата правильно? пустой MyDelegate общедоступного делегата (возражают obj), общедоступный класс MyClass {общедоступный MyClass () {//Ошибка: Ожидаемый...
общественность освобождает wahey (Список <Объектный> список) {} wahey (новый LinkedList <Число> ()); вызов к методу не будет проверка типа. Я не могу даже бросить параметр следующим образом: wahey ((Список <Объект>...
Как я могу бросить от ObservableCollection <TabItem> в ObservableCollection <объект>, это не работает на меня (ObservableCollection <объект>) myTabItemObservableCollection
Я пытаюсь выяснить точное значение слов Ковариантность и Контравариантность от нескольких статей онлайн и вопросов на StackOverflow, и от того, что я могу понять, это - только другой...
Кто-то может объяснить, почему существует потребность добавить или в параметре, чтобы указать, что универсальный тип является вариантом Co или Мятежника в C# 4.0? Я пытался понять, почему это важно и почему...
У меня есть код как это: класс RetInterface {...} Класс Ret1: общедоступный RetInterface {...} Класс AInterface {общественность: виртуальное повышение:: shared_ptr <RetInterface> get_r () константа = 0;...};...
First of, I have read many explanations on SO and blogs about covariance and contravariance and a big thanks goes out to Eric Lippert for producing such a great series on Covariance and Contravariance....
Я полагаю, что можно определить ковариацию (по крайней мере, для объектов) как «способность использовать значение более узкого (под) типа вместо значения более широкого (супер) типа», и эта противоположность является ...
В то время как мы можем наследовать от базового класса / интерфейс, почему мы не можем объявить Список <> использующий тот же класс/интерфейс? взаимодействуйте через интерфейс {} класс B: {} класс C: B {} класс Тест {статическая Основная пустота (..
Скажите, например, у меня есть класс: общедоступный класс MyFoo: IMyBar {...} Затем я хотел бы использовать следующий код: <MyFoo> classList Списка = новый Список <MyFoo> (); classList. Добавьте (новый...
Почему я могу это сделать: IEnumerable & lt; object & gt; OBJS; Список & л; студент & GT; students = new List & lt; Student & gt; (); objs = студенты; Но не это: IEnumerable & lt; object & gt; objs2; Список & л; ...
делает любой знает, возможно ли бросить универсальный тип с параметром определенного типа (например, Панель) к тому же универсальному типу с параметром типа, являющимся базовым типом Панели (такой как объект в моем случае)....
Взгляд на следующий пример (частично взятый из Блога MSDN): класс Животное {} класс Жираф: Животное {} статическая Основная пустота (строка [] args) {//работы Присваивания массива, но... Животное []...
Я посмотрел видео об этом на Канале 9, но я действительно не понял это очень. Кто-то может дать мне простой пример о них, это легко понять? После этого, возможно, как это было бы...
C# 4.0 собирается поддерживать ковариантность и контравариантность. Но я ясно не понимаю преимуществ этой новой возможности. Можно ли объяснить меня (ясно), почему нам нужен он?