opDot
został scheduled for deprecation. Dlatego nie jest to udokumentowane. Nie używaj go. Zamiast tego użyj alias this
. Możesz go użyć do aliasu określonego typu lub funkcji do typu, aby mógł działać jak ten typ. na przykład
struct S
{
int value;
alias value this;
}
zrobi to tak, że zmienna będzie typu S
niejawnie przekonwertować do int
użyciu S
„s value
pole. Można również funkcje alias sposób:
struct S
{
int get()
{
return 7;
}
alias get this;
}
jednak, że może być bardziej ograniczające, ponieważ DMD nie obsługuje obecnie posiadające wiele alias this
es dla typu (to powinno ostatecznie chociaż). W takim przypadku można niejawnie rzucić S
na int
, ale nie odwrotnie. Regarldess, alias this
jest przeznaczony do implementacji niejawnych konwersji.
Jeśli nie jest to, co chcesz, inną możliwością jest opDispatch
. Pozwala przekształcić to, co znajduje się po prawej stronie kropki, w inne elementy (np. Zamień wszystkie połączenia na foo
na bar
). Ale między tymi dwoma, powinieneś być w stanie zrobić prawie wszystko, co myślisz o zrobieniu z opDot
(i wiele więcej poza tym).
Spróbuj tego: http://www.digitalmars.com/d/archives/digitalmars/D/learn/how_to_use_opdot_14509.html – Raxillan