opDispatch and @property setters
Lodovico Giaretta via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Tue Jun 21 14:22:06 PDT 2016
On Tuesday, 21 June 2016 at 21:11:39 UTC, ag0aep6g wrote:
> Works when you change the return type of the the @property
> opDispatch to auto, so that it can return the result. It's a
> little weird, but D does support calling functions with
> assignment syntax.
>
> Alternatively, maybe you can actually check for the @property
> attribute in hasAssignableProperty. See
> FunctionAttribute/functionAttributes in std.traits [1]. I
> haven't tested this.
>
>
> [1] http://dlang.org/phobos/std_traits.html#.FunctionAttribute
Thank you very much!
I managed to get it to work by using this code:
@property auto opDispatch(string name, Arg)(Arg arg)
{
mixin("return _p_data." ~ name ~ " = arg;");
}
> It's a little weird, but D does support calling functions with
> assignment syntax.
Definitely strange.
More information about the Digitalmars-d-learn
mailing list