@mletov

Как переменная одного типа в C# может присваиваться другому, если они не находятся в одной ветви наследования?

Пожалуйста, подскажите:
Вот есть в C# вот такой тип XNamespace.
Наследуется напрямую от System.Object.

При этом вот такая форма записи является вполне легитимной:
XNamespace ds = "http://www.w3.org/2000/09/xmldsig#";


Как такое возможно? Ведь тип string не является ни родительским, ни дочерним для XNamespace, но при этом один приводится к другому.
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
zagayevskiy
@zagayevskiy
Android developer at Yandex
Потому что есть такой оператор, который конструирует XNamespace из строки.
https://msdn.microsoft.com/en-us/library/system.xm...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
mindtester
@mindtester
делаю странные вещи, обычно на C#
это значит, что существует или перегруженный оператор присваивания, но скорее всего просто расширение типа, для необходимого преобразования
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
CSBI Санкт-Петербург
от 60 000 до 80 000 руб.
Кнопка Екатеринбург
До 100 000 руб.
Payment Systems Москва
от 160 000 до 200 000 руб.
15 авг. 2018, в 22:39
60000 руб./за проект
15 авг. 2018, в 22:01
6000 руб./за проект
15 авг. 2018, в 21:18
30000 руб./за проект