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 :)
class TCustomGrid: TCustomPresentedScrollBox
{
class ColumnsArray
{
static TColumn opIndex(int index)
{
// Reference is defined in TCustomGrid via inheritene
int r = getIntegerIndexedPropertyReference(reference,
"Columns", index);
return new TColumn(r);
}
}
alias Columns = ColumnsArray;
...
}
This seems like an unnecessary limitation...
Kind regards
André