首页 > 解决方案 > Vala:在构造函数中调用超类创建方法

问题描述

我一直在尝试使用它的创建方法来初始化父类。

class A {
    public A.creator (int x, int y) {
        // do some magic
    }
}

class B : A {
    public B.creator (int x, int y) {
        // I want to do something like
        base.creator (x, y);
    }
}

尝试运行上述代码时遇到错误。

error: chain up to 'A.creator' not supported

在 vala 中完成此任务的正确方法是什么?

标签: vala

解决方案


当我尝试编译您的代码时,我得到:

chain.vala:1.1-1.7: error: Class name `A' is too short
class A {
^^^^^^^
chain.vala:7.1-7.11: error: Class name `B' is too short
class B : A {
^^^^^^^^^^^
Compilation failed: 2 error(s), 0 warning(s)

重命名AAaaBBbb,代码可以使用 valac 0.36.15 编译得很好。

我的第一个想法是您可能必须从 派生AObject但显然情况并非如此。


推荐阅读