Some notice

protected static class B : A {}

In C#, you cannot inherit from a static class, as static classes cannot be used as base classes.

The static keyword in C# indicates that a class cannot be instantiated and cannot be used as a base class. static classes are sealed and cannot be inherited from. Additionally, static classes can only contain static members (fields, methods, properties, etc.), and they are typically used for utility classes or classes that group related static members together.

Therefore, you cannot have a static class (B) inherit from another class (A). If you need B to have access to members of A, you may consider composition or another design pattern depending on your requirements.


protected abstract class B : A {}

Yes, you can have an abstract class (B) inherit from another class (A). Abstract classes in C# are designed precisely for this purpose, allowing you to define a blueprint for other classes to inherit from.

Last updated