Operator As


Operator as reprezentuje operację kontrolowanego rzutowania typu. Wyrażenie:

object as class

zwraca odwołanie do tego samego obiektu object, ale o typie podanym przez class. W czasie wykonania programu, object musi być przypadkiem klasy class lub potomnej, lub też reprezentować wartość nil; w innym przypadku generowany jest wyjątek. Jeśli zadeklarowany typ obiektu jest ewidentnie niezwiązany z klasą, zgłaszany jest błąd kompilacji. Przykład:

with Sender as TButton do
begin
  Caption := '&Ok';
  OnClick := OkClick;
end;

Często używanym, wygodnym sposobem wykorzystania operatora as jest zamknięcie go z wyrażeniem rzutującym typ, w nawiasach okrągłych. Przykładowo:

(Sender as TButton).Caption := '&Ok';