An interface is used to define a contract for a
class
or
struct
to implement. There are several uses of interfaces. As it is said in the question interfaces are used in
C#
as an alternative to multiple inheritance. Interfaces with extension methods are used extensively in
LINQ
. Lot of answers were given on this topic here
Purpose of Interfaces[
^]
I think it may be useful to you.