Возможно, меня могут смутить бокс и распаковка.Un Boxing объект класса - нет ошибки?
Рассмотрим следующее заявление от MSDN:
«Распаковка является явное преобразование из типа объекта к типу значения или от типа интерфейса в тип значения, который реализует интерфейс .»
Таким образом, это означает, что unboxing может применяться только к параметру типа значения.
так, это в порядке.
var concernedInteger = (int)myObject; //unboxing is ok.
Поскольку класс является ссылочным типом, это не должно работать (потому что распаковка применимо только к типу значения)
var concernedClassObject = (TestClass)testClassObject // unboxing is still ok.
Мой ReSharper не показывает ошибку.
Итак, мой вопрос: «Как вы можете удалить переменную ссылочного типа, когда MSDN говорит, что только типы значений могут быть распакованы»?
спасибо за исправление меня. Но опять же, делает ли тот же синтаксис как для распаковки, так и для литья типов? –
Обновлен мой ответ. Тот же синтаксис да .. разные вещи происходят. –
@nowhewhomustnotbenamed. Тот же синтаксис используется для очень многих вещей: конверсии ссылок, преобразования бокса, распаковки конверсий, числовые преобразования, пользовательские преобразования, преобразования групп методов и, возможно, другие. Они все разные! –