Итак, у меня есть класс, в котором я создаю экземпляр обратного вызова переменной следующим образом:
public var callback:Function;
Пока все хорошо. Теперь я хочу добавить прослушиватель событий в этот класс и проверить наличие обратного вызова. Я делаю так:
this.addEventListener(MouseEvent.MOUSE_OVER, function(event:MouseEvent) : void {
if (callback) {
// do some things
}
});
Это прекрасно работает, не выдает никаких ошибок, но везде, где я тестирую обратный вызов, я получаю следующее предупреждение:
3553: Function value used where type Boolean was expected.
Possibly the parentheses () are missing after this function reference.
Это доставило мне неприятности, поэтому я попытался избавиться от предупреждения, проверив на null и undefined. Те вызвали ошибки. Я также не могу создать экземпляр функции с нулевым значением.
Я знаю, я знаю, настоящие программисты заботятся только об ошибках, а не о предупреждениях. Я выживу, если эта ситуация не разрешится. Но это беспокоит меня! :) Я просто невротик, или есть какой-то способ проверить, была ли создана настоящая функция без ссоры IDE по этому поводу?