On Thursday, 5 November 2020 at 22:48:38 UTC, Marcone wrote:
How add class or struct member after construction? Is it possible in D? How?
This depends a lot on what you mean. The short answer is no - you cannot. However, given some limitations, it is possible. What sort of members do you need to add, and how will you be using them?
For instance, this works: struct S { import std.variant; Variant[string] members; Variant opDispatch(string name)() { return members[name]; } Variant opDispatch(string name, T)(T value) { return members[name] = value; } } unittest { S s; s.foo = 13; assert(s.foo == 13); } -- Simen