Как я могу назначить `A` для `A`, если `B` реализует интерфейс `I` в C#? [дубликат]C#

Место общения программистов C#
Ответить
Anonymous
 Как я могу назначить `A` для `A`, если `B` реализует интерфейс `I` в C#? [дубликат]

Сообщение Anonymous »

Возможно, где-то есть повторяющийся вопрос, но я не уверен, какие условия поиска являются правильными. Поскольку фрагмент содержит более тысячи слов: почему это недопустимый C#?

Код: Выделить всё

class A { }
interface I { }
class B : I { }

A a = new A();
Это дает CS0030,

Невозможно преобразовать тип A в A< /code>.

Но B — это I, так почему бы не A a?
И более практично: если я есть функция, которая принимает A, как мне передать ей имеющийся у меня экземпляр A?

Подробнее здесь: https://stackoverflow.com/questions/793 ... ace-i-in-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»