2

MApplication を注入するクラスがあります。ハンドラーです。ハンドラーのメソッドを手動でトリガーしたい。

問題: ハンドラーを別のクラスから手動でインスタンス化すると、MApplication が null になります。ハンドラーをトリガーするクラスには、既に MApplication が注入されているため、ライフサイクルの問題ではありません。

質問: @Inject アノテーションが付けられたメソッドを持つクラスでメソッドをトリガーするにはどうすればよいですか?

4

2 に答える 2

1

さらに短い:

ContextInjectionFactory.make(ManipulateModelhandler.class, iEclipseContext).execute();

または、その名前に関係なく注釈付きメソッドを実行することによって (フレームワークが行う方法):

ContextInjectionFactory.invoke(new ManipulateModelhandler(), Execute.class, iEclipseContext);
于 2013-02-27T08:51:50.687 に答える
1

以下はその日を作りました。

    ManipulateModelhandler man = new ManipulateModelhandler();

    //inject the context into an object
    //IEclipseContext iEclipseContext was injected into this class
    ContextInjectionFactory.inject(man,iEclipseContext);

    man.execute();
于 2012-10-23T14:23:29.727 に答える