Sobes.tech
Junior — Middle

Is it possible to create a new data structure based on an existing one through inheritance?

sobes.tech AI

Answer from AI

In C#, a struct is a value type and does not support inheritance from other structs or classes. That is, you cannot create a new struct by inheriting from an existing struct or class.

However, structs can implement interfaces, which allows them to have a common contract and use polymorphism through interfaces.

If inheritance and extension are needed, classes should be used, as they support inheritance.

Example of implementing an interface in a struct:

interface IPrintable {
    void Print();
}

struct Point : IPrintable {
    public int X, Y;
    public void Print() {
        Console.WriteLine($"Point: ({X}, {Y})");
    }
}

Thus, creating new types based on existing structs through inheritance is impossible, but interfaces or classes can be used.