 A variable of an interface type is a reference to an instance of a class which implements this interface.See #Interfaces.C# provides type-safe object-oriented function pointers in the form of "delegates".