Operator Is


Operator is, który spełnia rolę dynamicznego kontrolera typu, używany jest do weryfikacji klasy obiektu w trakcie wykonania programu (runtime). Wyrażenie:

object is class 

zwaraca wartość True jeśli object jest przypadkiem klasy class lub jej potomków, zaś zwraca wartość False w pozostałych wypadkach. (Dla object ma wartość nil, zwracana jest wartość False.) Jeśli zadeklarowany typ obiektu jest ewidentnie niezwiązany z klasą, zgłaszany jest błąd kompilacji. Na przykład:

if ActiveControl is TEdit then TEdit(ActiveControl).SelectAll;

Ta instrukcja rzutuje typ zmiennej ActiveControl na typ TEdit, po uprzedniej weryfikacji faktu, że obiekt jest przypadkiem klasy TEdit lub jednego z jej typów potomnych.