【发布时间】:2019-03-28 15:29:33
【问题描述】:
我开始了解 Haxe,我主要使用它来生成 Python 代码和 C# DLL。
但是我多次遇到相同的问题:每当我尝试编写 getter 时,当我从方法内部访问相关属性时它们工作正常,但是当我尝试从类外部访问它们时它们是甚至没有打电话。我开始怀疑我错过了一些基本的东西。
例如,如果我编写以下类:
@:expose
@:keep
class TestClass
{
public var testField(get, null):String;
private function get_testField():String
{
trace("executing getter");
return "testString";
}
public function new() {}
public function testMethod()
{
trace(testField);
}
}
然后在 Python 中:
testInstance = MyModule.TestClass();
testInstance.testMethod();
...按预期输出:
executing getter
testString
但是
print(testInstance.testField)
...输出None。
我期待testInstance.testField 在所有情况下都返回"testString",我做错了什么?这也发生在 C# 中。
【问题讨论】:
标签: properties haxe