Dear List
I wanted to check the possibility to put delegates into an array or a
GLib.List and then firing them one by one in a foreach way.
After some attempts I found a compiling solution that unfortunately does
not work.
Can anybody tell me what I am doing wrong here?
Thanks
lariamat
public class DGLTest : GLib.Object {
public DGLTest() {
print("construct\n");
list = {};
}
//delegatetype
public delegate void MyDelgType(int aint, string bstr);
//Array for collecting delegates
private MyDelgType[] list;
//delegate for testing
public void dtest(int a, string b) {
for(int i=0;i<a;i++)
print("%s-%d\n", b, i);
}
//test function for adding delegates to the array and calling them
afterwards
public void run() {
for(int i=0;i<4;i++) {
list+=(MyDelgType)this.dtest;
}
for(int i=0;i<list.length; i++) {
list[i](i+1, "hello");
}
}
public static GLib.MainLoop loop;
public static int main(string[] args) {
loop = new GLib.MainLoop(null, false);
DGLTest dglt = new DGLTest();
dglt.run();
loop.run();
return 0;
}
}
Attachment:
delegatelisttest.vala
Description: Text Data