alias this doesn't work for properties.
Maxim Fomin
maxim at maxim-fomin.ru
Thu Aug 1 19:21:20 PDT 2013
On Thursday, 1 August 2013 at 21:56:46 UTC, John Colvin wrote:
>
> You are asking for an "int" to be be implicitly convertable to
> an "A", which isn't possible.
http://dpaste.dzfl.pl/c3cce6e2
import std.stdio;
class A
{
double x;
@property double X() { writeln("From A.Get"); return x; }
@property double X(double v) { writeln("From A.Set"); x = v;
return x; }
alias X this;
this(double val) { this.x = val; }
}
class B
{
A a;
A Y() { writeln("From B.Get"); return a; }
A Y(A v ...) { writeln("From B.Set"); a = v; return a; }
this() { a = new A(0); }
}
void main()
{
B b = new B();
writeln(b.Y);
b.Y = 3;
writeln(b.Y);
readln();
}
More information about the Digitalmars-d
mailing list