Recently, I've encountered the following code, in a commercial API for a software that costs dozens of thousands of dollars. Now you don't need to know what this method is supposed to do, all you need to know is that Geometry is an abstract base class for all types of, well, geometries, and Point inherits from Geometry. public DataTable[] Identify(Geometry geom) { // ... Do some stuff ... if ( ! (geom is Point)) throw new NotSupportedException(); // ... Do some more stuff ... } If you're wondering...