需要在vala中使用setter / getter

时间:2012-10-31 00:24:06

标签: vala design-by-contract

有没有办法在Vala中执行以下操作?

public int year {
    get { return this.year; }
    set requires (1500 < value && value < 2050) { this.year = value; }
}

1 个答案:

答案 0 :(得分:1)

不,但'要求'实际上只是GLib.return_if_failGLib.return_val_if_fail的语法糖,所以你可以这样做:

public int year {
    get { return this.year; }
    set {
        GLib.return_if_fail (1500 < value && value < 2050);
        this.year = value;
    }
}