Introduction
A common question asked by C# developers is why structs (the representation of .NET value types in the C# language) do not support inheritance whereas classes (.NET reference types) do?
I see three reasons:
- Design choice
- Conflict with array covariance
- Memory management
As C# is the main language of the .NET platform I’ll use the term struct in this article instead of value type.
Continue reading