Синтаксис:
[атрибуты] [модификаторы] interface Имя_интерфейса[ :список_родительских_интерфейсов] { обьявление_свойств_и_методов}
Пример:
interface Species { string Species(); void Feed(); }
class Cheetah:Animal,Species{ private string ScientificName; public string Species() { return ScientificName; } public void Feed() { Weight++; } }
В языке C# допустимо объявление ссылочных переменных интерфейсного типа. Такие переменные могут ссылаться на любой объект, реализующий их интерфейсы. При вызове метода объекта по интерфейсной ссылке происходит вызов той конкретизации метода, которая реализуется данным объектом.
В языке C# допустимо наследование интерфейсов. При этом синтаксис аналогичен таковому для наследования классов. В случае, если класс реализует интерфейс, который наследует другой интерфейс, необходимо предусмотреть реализацию всех членов, определенных в составе иерархии наследования интерфейсов.