默认处理程序和后连接
信号可以有一个默认的处理程序。你需要做的就是在声明时给它一个正文。
public class Emitter : Object {
public signal void my_signal () {
print ("Hello from the default handler!\n");
}
}
这个处理程序将始终在 connect
ed 之后调用。但是如果要在默认值之后添加处理程序,则可以使用 connect_after
而不是 connect
。
var emitter = new Emitter ();
emitter.my_signal.connect_after (() => {
print ("After the default handler!\n");
});
emitter.my_signal ();