factoryMethod

Invoke T's method to create component of type X.

Configures component's factory to call method of factoryMethod with args, in order to create component of type X. In case when method is not a static member, the function requires to pass a instance of factoryMethod or a reference to it. The algorithm will check for args compatiblity with parameters of factory method. No type check is done for arguments that are references at compile time.

  1. Z factoryMethod(Z factory, W factoryMethod, Args args)
  2. Z factoryMethod(Z factory, Args args)
  3. Z factoryMethod(Z factory, Dg func, Args args)
    @safe
    Z
    factoryMethod
    (
    Dg
    Z : InstanceFactoryAware!X
    X
    Args...
    )
    (,
    Dg func
    ,
    auto ref Args args
    )
    if (
    isSomeFunction!Dg &&
    is(ReturnType!Dg == X)
    )

Parameters

factory Z

component's factory that is configured to call factoryMethod methods to spawn component

args Args

a list of arguments passed to factory method

X

the return type of T.method member

Meta