No, this is generally equivalent to:
DerivedFromClassA derivedObject = null;
if (classAObject is DerivedFromClassA)
{
derivedObject = (DerivedFromClassA) classAObject;
}
In other words, the result will be either an empty reference or a reference to the same object, but statically typed for the derived type.
source
share