たとえば、メインフォームがあり、ロガーインスタンスをプライベートフィールドとして挿入したいとします。
ロガーを登録します
GlobalContainer.RegisterType<TCNHInMemoryLogger>.Implements<ILogger>;
メインフォームにプライベートフィールドがあります
private
FLogger: ILogger;
私が望むのは、そうするだけです:
private
[Inject]
FLogger: ILogger;
私のDPRファイルには、メインフォームを作成するための典型的なデルファイの方法があります:
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(Tfrm_CNH, frm_CNH);
Application.Run;
end.
プライベート フィールドを適切に挿入するには、フォーム作成の方法で何を変更する必要がありますか?
ちなみに、Form.OnCreate のフィールドを GlobalContainer.Resolve で解決すると、正常に動作します。しかし、フォームで GlobalContainer 変数を使用することは避けたいと思います。