В С# любой пользовательский 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
, не может ли компилятор применить его к типу объекта вместо бокса?