On Tuesday, 29 August 2017 at 08:30:24 UTC, Moritz Maxeiner wrote:
On Tuesday, 29 August 2017 at 07:59:40 UTC, Andre Pany wrote:
On Monday, 28 August 2017 at 23:12:40 UTC, Moritz Maxeiner wrote:

In both cases S doesn't inherently how about C, which means a solution using default initialization is not feasible, as S.init can't know about any particular instance of C. I don't think there's any way for you to avoid using a class constructor.

Thanks for the explanation. I now tried to use a class and use a static opIndex. But it seems from a static method you also cannot access the attributes of a outer class :)

A nested class' outer property (when nested inside another class) is a class reference, which means we not only require a class instance of the outer class to reference, but also a class instance of the nested class to store said class reference to the other class in. A static class method (by definition) is invoked without a class instance.
The two are inherently incompatible.

[...]

This seems like an unnecessary limitation...

I can only recommend reading the language specification w.r.t, nested classes [1] if it seems that way to you, because it is not.

[1] https://dlang.org/spec/class.html#nested

I think I found a solution which fulfills all goals but I have to try it out. A property method "Columns" will return an initialized struct "ColumnsArray" as proposed by you.
This should nicely work as string mixin. Thanks for your help.

Kind regards
André

Reply via email to