Every struct in C#, whether it is user-defined or defined in the .NET Framework, is sealed–meaning that you can’t inherit from it. A struct is sealed because it is a value type and all value types are sealed.
A struct can implement an interface, so it’s possible to see another type name following a colon, after the name of the struct.
In the example below, we get a compile-time error when we try to define a new struct that inherits from the one defined above.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| public struct PersonName{ public PersonName(string first, string last) { First = first; Last = last; } public string First; public string Last;}// Error at compile time: Type 'PersonName' in interface list is not an interfacepublic struct AngryPersonName : PersonName{ public string AngryNickname;} |

