There are 2 major reasons:
1 - Lack of multiple inheritance. You can inherit from one base class and implement any number of interfaces. That's the only way to "do" multiple inheritance in .NET.
2 - COM interoperability. Anything that will need to be used by "older" technologies will need to have interfaces defined.
- Lack of multiple inheritance. You can inherit from one base class and implement any number of interfaces. That's the only way to "do" multiple inheritance in .NET.
- COM interoperability. Anything that will need to be used by "older" technologies will need to have interfaces defined.