0

不确定,但它使我Error: variable is not properly set.在创建过程中得到了不同的调用顺序。我发现在调用之前创建类属性default_create似乎可以解决问题。为什么呢?似乎 default_create 没有在我的 make 例程中调用某些东西??!!!

尝试做一个例子,即使我认为我不能用一个简单的例子来重现它......

在职的

class A

feature

    attr: B

    make
        do
            create attr
            default_create
        end

end

错误:变量设置不正确。

class A

feature

    attr: B

    make
        do
            default_create
            create attr
        end

end
4

1 回答 1

2

default_create打一些电话。可能会调用Current(直接或间接,例如,如果Current作为参数在某处传递)。如果此时attr未设置该属性,则当前对象未完全初始化,并且在常规功能调用中使用它可能会导致对 Void 目标的调用(尤其是由于多态性)。为了避免这个问题,需要在任何涉及的调用之前设置所有属性Current

于 2019-01-13T11:18:05.627 回答