Interfaces

Interfaces can be implemented by classes to provide functionality with a common interface. Each class can implement multiple interface and interfaces can require other interfaces to be implemented.

Interface declarations
public interface InterfaceName : RequiredInterface <optional> { <interface members> }
Methods

Interfaces can contain abstract and non abstract methods.

public abstract void MethodName (); public void MethodName2 () { <Implementation> }
Delegates

Interfaces can also contain delegates

public delegate void DelegateName (void* data);
Signals

Signals are also supported by interfaces

public signal void SignalName ();