Почему структуры должны быть в штучной упаковке?
В C # любой пользовательскийstruct
автоматически подклассSystem.Struct System.ValueType
а такжеSystem.Struct System.ValueType
это подклассSystem.Object
.
Но когда мы назначаем некоторую структуру для ссылки на тип объекта, она упаковывается. Например:
struct A
{
public int i;
}
A a;
object obj = a; // boxing takes place here
Итак, мой вопрос: еслиA
является потомкомSystem.Object
, не может ли компилятор преобразовать его в тип объекта вместо бокса?