У меня есть эти интерфейсы:Использовать «есть» или «как» в этом случае?
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();
}
Я уверен, что информация, я смотрю на это там, это просто трудно найти «есть» и «как» ... Спасибо заранее!
Спасибо за тестирование! – Ocelot20