opDot
hat scheduled for deprecation gewesen. Deshalb ist es nicht dokumentiert. Benutze es nicht. Verwenden Sie stattdessen alias this
. Sie können damit einen bestimmten Typ oder eine bestimmte Funktion für einen Typ verwenden, so dass er wie dieser Typ funktionieren kann. z.B.
struct S
{
int value;
alias value this;
}
wird es machen, so dass eine Variable vom Typ S
implizit int
mit S
‚s value
Feld konvertieren. Sie können auch Alias-Funktionen, die Art und Weise:
struct S
{
int get()
{
return 7;
}
alias get this;
}
aber, dass mehr einschränkend sein kann, da DMD derzeit nicht mehrere Träger mit alias this
es für einen Typ (es sollte schließlich obwohl). In diesem Fall können Sie dann werfen implizit S
auf ein ein int
, aber nicht umgekehrt. Regarldess wird alias this
für die Umsetzung implizite Konvertierungen vorgesehen.
Wenn alias this
nicht ganz das ist, was Sie wollen, ist eine andere Möglichkeit opDispatch
. Es ermöglicht Ihnen, zu transformieren, was auf der rechten Seite des Punktes in andere Sachen (z Schalten Sie alle Anrufe an foo
in bar
). Aber zwischen diesen beiden solltest du in der Lage sein, so ziemlich alles zu tun, was du mit opDot
(und viel mehr) machen wolltest.
Versuchen Sie Folgendes: http://www.digitalmars.com/d/archives/digitalmars/D/learn/how_to_use_opdot_14509.html – Raxillan