瓦拉:在构造函数中调用超类创建方法

时间:2018-10-28 19:48:11

标签: 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中完成此操作的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

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

$this->file = $_FILES["fileToUpload"];
$this->targetDir = __DIR__.'/';

if (move_uploaded_file($this->file["tmp_name"], $this->targetFile )) {
  // code ...
} else {
  // code ...
}

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) 重命名为A,将Aaa重命名为B后,代码将使用valac 0.36.15进行编译。

我首先想到的是,您可能必须从Bbb派生A,但显然不是这种情况。