Strukturalne typy danych a ich dziedziczenie po klasie Object, jak to możliwe ?

0

Skoro struktury nie mogą dziedziczyć po klasach, to czemu struktury typów danych w c# wywodzą się z klasy Object ?

1

Co masz na myśli przez wywodzą się?

Oficjalna definicja takiego np. int

public struct Int32 : IComparable, IFormattable, IConvertible, 
	IComparable<int>, IEquatable<int>

Podobnie jest z całą resztą, żadna struktura nie dziedziczy z object.

Struktury niejawnie dziedziczą z System.ValueType, które to z kolei dziedziczy z Object, ale to jest magia kompilatora i CLR, które zapewnia w ten sposób możliwość boxowania oraz działający GetHashCode bazujący na wartości.

0

W podręczniku mam, że typu typu int,double itp wywodzą się z ValueType, a ValueType z Object. To nie prawda ?

0

Ok dobra wiem dzięki. Nie doczytałem ostatniego Twojego zdania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1