How to disable/hide constructor when using factory method?

JN 666total at wp.pl
Wed Jan 23 19:26:37 UTC 2019


class Foo
{
     static Foo makeFoo()
     {
         Foo f = new Foo();
         return f;
     }
}

void main() {
     Foo f = Foo.makeFoo();
}

For a code like this. I'd like all users of the class to be 
forced to create instances using the static method makeFoo. I 
want to disallow "new Foo()". But I don't know if it's possible 
to disable the constructor, while still making it available in 
the makeFoo static method.

@disable this doesn't work, private this(); doesn't work either.


More information about the Digitalmars-d-learn mailing list