1

AS3 プロジェクトで迅速なサスペンダーを使用しようとして足を濡らしていますが、アクセスしようとするとインジェクションが無効になります。これは、参照を持つ必要があるオブジェクトに明示的に注入するために、injector.injectInto() を使用する場合にのみ機能します。しかし、それは SwiftSuspenders での最適なアプローチではありませんよね?

4

2 に答える 2

0

クラス コンストラクターで注入されたプロパティにアクセスするのに何か変更はありませんか? その場合は、PostConstructメタを使用してください。

public class Example
{
    [Inject] public var foo:Bar;

    public function Example()
    {
        foo.barMe(); // throws null reference error
    }

    [PostConstruct]
    public function _postConstruct():void
    {
        foo.barMe(); // OK
    }
}

PostConstruct: インジェクション完了時にメソッドを自動的に呼び出す

自動 DI に依存するクラスのインスタンスは、DI が完了した後にのみ使用できるようになります。[PostConstruct] メタデータを使用して injectee クラスのメソッドにアノテーションを付けると、すべての注入が完了した後に直接呼び出され、インスタンスを安全に使用できるようになります。order パラメータ [PostConstruct(order=1)] を使用して、定義された順序で複数のメソッドを呼び出すことができます。

参照[1]

于 2011-05-12T19:46:28.963 に答える