On 09/09/2012 14:39, Ben Davis wrote:

On 09/09/2012 14:23, Philippe Sigaud wrote:
 > you could use factory functions:
 >
 > class A {}
 >
 > A a() { return new A();}

Good idea. It might not work so well for me because the user might also
be creating custom GUI components and would therefore have to create
their own factory functions, but thanks for the idea in any case.

Maybe you could use a template:

auto create(T, Args...)(Args args)
{
    return new T(args);
}

class A
{
    int i;
    this(int i){this.i = i;}
}

import std.stdio;

void main()
{
    create!A(5).i.writeln();
}

But I agree with you it would be nice if dmd supported 'new A().b()'.

Reply via email to