Вопрос относительно неявных преобразований в спецификации языка C#
Раздел 6.1 неявные преобразования определяет преобразование идентичности таким образом:
Преобразование идентичности преобразует любой тип в тот же самый тип. Это преобразование существует таким образом, что сущность, которая уже имеет требуемый тип, может быть названа конвертируемой в этот тип.
Теперь, что цель наказания, такие, как эти?
(в §6.1.6 неявные ссылочные преобразования)
Неявное ссылки преобразования:
- [...]
- из любого ссылочного типа в ссылочный тип
Tесли он имеет неявное тождество или ссылочное преобразование в ссылочный типT0 и ещеT0 имеет преобразование идентификатора вT.
И:
(в §6.1.7 боксерские преобразования)
- тип значения имеет боксерское преобразование в тип интерфейса
Iесли он имеет преобразование бокса в тип интерфейсаI0 и ещеI0 имеет преобразование идентичности вI.
Поначалу они кажутся излишними (тавтологичными). Но они должны быть там с определенной целью, так почему же они там?
Можете ли вы привести пример двух типов T1, T2 такое, что T1 будет ли не неявно конвертироваться в T2 если бы не вышеназванное ... параграфы?
Comments