Suliman:
But if I have a lot of property like^
string name
int age
....
it's not good to specify all of them in paranceses:
auto file = new FileName("test.txt", 21, ETC);
How can I specify them in another way?
There are several ways to help that. A simple way is to use
default arguments:
this(string fileName, int id=21, Foo f=ETC) {...}
An alternative is to define various constructors with different
number of arguments.
Other solutions include the use of a little configuration struct,
or the chaining of setters that return "this":
FileName setId(int id_) { this.id = id_; return this; }
Then if you define several of such setters, you can chain only
the ones you want in a single line.
auto f = new FileName("test.txt");
f.setId(21).setF(ETC);
Probably there are other solutions.
Bye,
bearophile