Convert struct to set of fields and pass it's to constructor

Minty Fresh via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Feb 1 05:51:28 PST 2017


On Wednesday, 1 February 2017 at 13:37:27 UTC, Suliman wrote:
> Class constructor accept only set if fields like
> this(string login, string pass)
>
> Can I create structure, fill it, and than pass to constructor?
>
> Like this:
> ```
> import std.stdio;
>
> struct ConnectSettings
> {
> 	string login;
> 	string pass;
> };
> ConnectSettings cs;
>
> void main()
> {
>  cs.login = "admin";
>  cs.pass = "mypass";
> }
> ```
>
> and than pass to constructor it's like:
>
> `... new SomeClass(cs)`
>
>
> I tried, but get error, that ctor accept only fields list. Can 
> I unroll struct to it?

tupleof is probably what you're looking for.
ie.

   new SomeClass(cs.tupleof);

That said, why not have the constructor accept the struct as a 
parameter?



More information about the Digitalmars-d-learn mailing list