The different answers here have two different meanings.
If you want to check whether an instance is of an exact type then
if (c.GetType() == typeof(TForm))
is the way to go.
If you want to know whether c
is an instance of TForm
or a subclass then use is
/as
:
if (c is TForm)
or
TForm form = c as TForm;
if (form != null)
It’s worth being clear in your mind about which of these behaviour you actually want.