[Vala] Foreach on interfaces




Hi All

I was surprised to find that the following does not work under vala 0.5.1

public interface InterfaceA {
   public abstract void function();
}

public class Instance : InterfaceA {
   public void function() {
   }
}

public static main(string[] args) {
  List<InterfaceA> list=new List<InterfaceA>();  // 1
  list.append(new Instance();
  foreach(InterfaceA i in list) {                // 2
    i.function();                                
  }
}

But I get errors:
  error: missing class prerequisite for interface 'InterfaceA'
on the lines marked with 1 and 2.

Is this correct behaviour?  If I need a use case like this, how would I implement it?

Regards

Matt

*********************************************************************************************************
This e-mail is confidential, the property of NDS Ltd and intended for the addressee only.  Any dissemination, 
copying or distribution of this message or any attachments by anyone other than the intended recipient is 
strictly prohibited.  If you have received this message in error, please immediately notify the postmaster 
nds com and destroy the original message.  Messages sent to and from NDS may be monitored.  NDS cannot 
guarantee any message delivery method is secure or error-free.  Information could be intercepted, corrupted, 
lost, destroyed, arrive late or incomplete, or contain viruses.  We do not accept responsibility for any 
errors or omissions in this message and/or attachment that arise as a result of transmission.  You should 
carry out your own virus checks before opening any attachment.  Any views or opinions presented are solely 
those of the author and do not necessarily represent those of NDS.

To protect the environment please do not print this e-mail unless necessary.

NDS Limited Registered office: One Heathrow Boulevard, 286 Bath Road, West Drayton, Middlesex, UB7 0DQ, 
United Kingdom. A company registered in England and Wales  Registered no. 3080780   VAT no. GB 603 8808 40-00
**********************************************************************************************************




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]