У меня есть эти интерфейсы:
public interface IBaseInterface
{
function Method():void:
}
public interface IExtendedInterface extends IBaseInterface
{
function MethodTwo():void;
}
... и вектор типа "IBaseInterface", который мне нужно перебрать:
var myVector:Vector.<IBaseInterface> = new Vector.<IBaseInterface>();
Мне нужно выполнить операцию надобъекты, которые используют IExtendedInterface.Какой вариант предпочтительнее?
for each(var obj:IBaseInterface in myVector)
{
// Option 1:
var tmp:IExtendedInterface = obj as IExtendedInterface;
if(tmp != null)
tmp.MethodTwo();
// Option 2:
if(obj is IExtendedInterface)
IExtendedInterface(obj).MethodTwo();
}
Я уверен, что информация, которую я ищу, там, просто сложно найти "есть" и "как" ... Заранее спасибо!