What is an interface in .NET?
An interface declares a contract or behavior that implementing classes require. It may declare only properties, methods, and events with no access modifiers. All the declared members must be implemented.
An interface allows developers to create new classes that reuse, extend, and modify the behavior defined in other classes.
An interface is responsible for keeping track of what is actually executing and where each executing thread is.
An interface provides a partial implementation for functionality and some abstract or virtual members that must be implemented by the inheriting entities. It can declare fields too.