spring4d解析一个本地构造的类

时间:2015-05-01 13:23:52

标签: delphi spring4d

我们说,我有以下代码:

interface
        type 
          IMyInterface1 = interface // GUID
            procedure ButtonEvent(Sender: TObject);
          end;

          IMyInterface2 = interface // GUID
            procedure DoSomething;
          end;

          TMyClass1 = class(TInterfacedObject, IMyInterface1)
          public
            procedure ButtonEvent(Sender: TObject);
          end;

          TMyClass2 = class(TInterfacedObject, IMyInterface2)
          public 
            procedure DoSomething;
          end;

// ...
implementation        
        procedure TMyClass1.ButtonEvent(Sender: TObject);
        var
          aIntf2: TMyInterface2;
        begin
          // Pseudo code:
          // aIntf2 := ServiceLocator.GetService<IMyInterface2>;
          try
            aIntf2.DoSomething;
          finally
            aIntf2 := nil; // will free the instance...
          end;
        end;

    initialization
      // Pseudo code:
      // GlobalContainer register IMyInterface1 / TMyClass1
      // GlobalContainer register IMyInterface2 / TMyClass2
      // GlobalContainer.Build
    end.

方法ButtonEvent由delphi表单按钮单击事件调用。

现在我的问题: 有没有更好的方法来实例化类TMyClass2? 在我的情况下,注入类TMyClass1是不可能的,TMyClass2实例的生命周期只在ButtonEvent中。 下一次调用ButtonEvent应该使用不同的实例......

在Spring4D中无法进行AFAIK,方法参数注入或局部变量注入,是吗?

0 个答案:

没有答案