An interface can inherit from other interfaces. A class implementing an interface must then implement all members of all interfaces in the inheritance chain.
For example, assume that we have an INameAndMotto interface with Name and Motto properties.
1
2
3
4
5
| interface INameAndMotto{ string Name { get; set; } string Motto { get; set; }} |
Now we can inherit this interface when we define the IMoo interface.
1
2
3
4
5
| interface IMoo : INameAndMotto{ void Moo(); List<string> MooLog { get; set; }} |
Now if we specify that the Cow class inherits from IMoo, it must implement all methods in both IMoo andINameAndMotto.
1
2
3
4
5
6
7
8
9
10
11
12
| public class Cow : IMoo{ public string Name { get; set; } public string Motto { get; set; } public void Moo() { Console.WriteLine("Moo"); } public List<string> MooLog { get; set; }} |

