Имя свойства объекта ActionScript 3 в строку? - PullRequest
3 голосов
/ 18 марта 2011

Я хочу исключить использование магических строк в этих:

BindingUtils.bindProperty(obj1, "propertyName", obj2, ["childObj", "anotherProperty"]);

или

var ddl:DropDownList = new DropDownList();
ddl.labelField = "propertyName";

было бы приятно просто набрать что-то вроде:

ddl.labelField = GetPropertyName(ComplexType.propertyName);

Это позволило бы упростить рефакторинг и устранить ошибки времени выполнения при изменении имени свойства.

Есть идеи?

Ответы [ 3 ]

4 голосов
/ 18 марта 2011

Не уверен, правильно ли я понимаю вашу проблему.Вы можете легко определить статические константы в отдельном классе, чтобы исключить все магические строки.

// In class ConstantContainer

public static const PROPERTY_NAME:String = "propertyName";

// In anywhere else
ddl.labelField = ConstantContainer.PROPERTY_NAME;
1 голос
/ 18 марта 2011

нужны «волшебные струны». Помните, что это динамичный язык, который имеет за и против во всем Это один из тех минусов.

Существует несколько способов ограничения ошибок, например статические свойства.

0 голосов
/ 21 марта 2011

Обсуждение переполнения стека по аналогичной теме с некоторыми идеями, которые могут вас заинтересовать:

Использование объекта против строки против перечисления

...