Skip to content

Language Guide: Interfaces

scottstephens edited this page Jul 17, 2012 · 1 revision

Interfaces are introduced thru the interface keyword:

interface IFoo:
   pass

Interface methods don't need to have a body:

interface IUnknown:
    def QueryInterface(id as System.Guid) as object

But if they do it must be empty:

interface IFoodMachine:
    def Spam():
        pass

If a method in a interface does not declare a return type it is assumed to be void since there's no body with a return statement where to infer the type from. Thus the above interface declaration is equivalent to the following one:

interface IFoodMachine:
    def Spam() as void

Interfaces can extend other interfaces:

interface ImALumberjackAndImOk:
    def SleepAllNight()
    def WorkAllDay()
 
interface IWishIdBeenAGirlie(ImALumberjackAndImOk):
    def JustLikeMyDearPappa()

Interfaces can be partial:

partial interface I:
    def Foo()
 
partial interface I:
    def Bar()
 
for member in typeof(I).GetMembers():
    print member.Name
Clone this wiki locally