@mletov

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

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

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


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

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

Похожие вопросы