vala:获取属性的便捷方式
vala: convenient way of getting properties
我知道可以使用以下简单语法按名称设置基于 GLib.Object 的 class 的 属性
obj["foo"] = bar;
有没有办法以类似的方式获取 属性 的值?以下构造似乎不起作用:
Bar bar = obj["foo"];
Vala returns 错误:不允许调用 void 方法作为表达式
我知道可以按照下面的示例来完成,但我正在寻找更简洁的东西。
Bar bar;
obj.get("foo", out bar);
Bar bar = obj.foo;
你也应该使用类似的代码来设置属性,而不是你上面写的:
obj.foo = bar;
这通常没什么大不了的,但这种形式往往比通过 GObject 属性更有效。而且它更短。恕我直言,它看起来也更好。
我知道可以使用以下简单语法按名称设置基于 GLib.Object 的 class 的 属性
obj["foo"] = bar;
有没有办法以类似的方式获取 属性 的值?以下构造似乎不起作用:
Bar bar = obj["foo"];
Vala returns 错误:不允许调用 void 方法作为表达式
我知道可以按照下面的示例来完成,但我正在寻找更简洁的东西。
Bar bar;
obj.get("foo", out bar);
Bar bar = obj.foo;
你也应该使用类似的代码来设置属性,而不是你上面写的:
obj.foo = bar;
这通常没什么大不了的,但这种形式往往比通过 GObject 属性更有效。而且它更短。恕我直言,它看起来也更好。