interface A(T)
{
    @property T Value();
    @property T Value(T value);
    // need to enforce alias Value this somehow
}

class B(T) : A!T
{
    private T _value;
    @property T Value() { return _value; }
    @property T Value(T value) { return value = _value; }
     alias Value this;
    // B must use alias this so B(T) behaves like type T
}

Reply via email to