В данный момент у меня нет доступа к Flash Builder, но я считаю, что вы должны иметь возможность использовать оператор «as», чтобы проверить, является ли объект тем или иным классом.
if ((controls as YouTubeControls) != null) //controls IS a YouTubeControls
//because it didn't return null
trace((controls as YouTubeControls).foo);
else
...
Преимущество оператора as заключается в том, что он пытается выполнить приведение, но в случае неудачи возвращает нулевое значение, тогда как другая форма приведения ...
YouTubeControls(controls)
Будет вызывать исключение времени выполнения, если элементы управлениянельзя кастовать как YouTubeControls.