Can C# interface have properties?
Hereof, should interfaces have properties?
Yes, An interface should define properties when it really in need. There is a IUser interface that has defined a property "Name" then you can use it without worry about if the object didn't implement the property.
Furthermore, what are interfaces in C#? An INTERFACE in C# is a type definition similar to a class, except that it purely represents a contract between an object and its user. It can neither be directly instantiated as an object, nor can data members be defined. So, an interface is nothing but a collection of method and property declarations.
Also know, why do we need interfaces in C#?
First and foremost, interfaces in C# are a means to get around the lack of multiple inheritances in C#, meaning you cannot inherit from multiple classes but you can implement multiple interfaces. An interface is a contract between itself and any class that implements it.
Why do we need interface?
interface allows a class to behave like multiple types, which is not possible without multiple inheritance of class. It also ensures that you follow programming to interface than implementation pattern, which eventually adds lot of flexibility in your system.