On 9/28/20 6:46 PM, Ruby The Roobster wrote:
I thought alias could work like this with classes:

That would work with template parameters:

alias A = Foo!(3, "hello");


alias test = MyClass(3,"H",9.1); //Assume the constructor parameters for MyClass are (int,string,double).

Can anybody fix this code?

You have to write a function (or a lambda):

class MyClass {
  this(int, string, double) {
  }
}

auto test1() {
  return new MyClass(3,"H",9.1);
}

auto test2 = () => new MyClass(4, "I", 10.1);

void main() {
  test1();
  test2();
}

However, I assumed each invocation would create a new object. If not, something like this:

MyClass test3;
static this() {
  test3 = new MyClass(5, "J", 11.1);
}

test3 is a single instance for each thread. A single instance for the whole program would be a different exercise. :)

Ali

Reply via email to