【发布时间】:2011-03-18 15:13:43
【问题描述】:
我想消除在这些中使用魔术字符串:
BindingUtils.bindProperty(obj1, "propertyName", obj2, ["childObj", "anotherProperty"]);
或
var ddl:DropDownList = new DropDownList();
ddl.labelField = "propertyName";
只要输入类似这样的内容会很甜蜜:
ddl.labelField = GetPropertyName(ComplexType.propertyName);
它将允许轻松重构,并在属性名称更改时消除运行时错误。
有什么想法吗?
【问题讨论】:
-
我不明白您建议的术语更改如何消除与重构相关的运行时错误。
-
如果我用 IDE 的重命名重构属性名称“propertyName”,比如“propertyName2”,它会在函数“GetPropertyName”的调用中找到并更改它......但是如果我重构/现在重命名,IDE 不会将此魔术字符串识别为我刚刚更改属性名称的类的属性。简单地重构/重命名属性会产生运行时错误。
标签: flash apache-flex actionscript-3 reflection magic-string