Вам не нужно делать метод статичным; это, скорее всего, бесполезно, поскольку вы хотите, чтобы вызов метода что-то делал с текущим состоянием компонента, я полагаю - используйте некоторые из его данных, измените его внешний вид и т. д. Что вам действительно нужно, так это ссылка на объект .
Поскольку Application.application находится в верхней части (или на самом деле очень близко к вершине) легендарного списка отображения, вы должны иметь доступ к каждому компоненту, начиная с этой точки, а затем проходя через список отображения * 1004. * - до тех пор, пока, в конце концов, по достижении вашего вложенного компонента не вызовет его публично определенный метод.
Однако я должен сказать (со всем большим уважением!), Что вы рискуете попасть в опасные ОО воды здесь. :) Правильный способ сделать это - найти способ передать ссылку на ваш пользовательский компонент классу ActionScript, который требует к нему доступ - например, в вашем MXML:
<mx:Script>
<![CDATA[
private function this_creationComplete(event:Event):void
{
var yourObject:YourClass = new YourClass(yourCustomComponent);
}
]]>
</mx:Script>
<components:YourCustomComponent id="yourCustomComponent" />
... а затем в вашем классе ActionScript:
public class YourClass
{
private var componentReference:YourCustomComponent;
public function YourClass(component:YourCustomComponent)
{
this.componentReference = componentReference;
}
private function yourMethod():void
{
this.componentReference.someMethodDefinedInYourComponent();
}
}
Такой подход, вероятно, послужит вам лучше. Имеет ли это смысл? Я буду следить за нашими комментариями; отправьте обратно, и я сделаю все возможное, чтобы помочь вам в этом.