void checkAbstract(Class abstractClass, Class currentClass) { string className = abstractClass.ClassName; Runtime.AssertIsNotNull(abstractClass, LOCATION, "{0} is not a class", className); Runtime.Assert(abstractClass.IsAbstract, LOCATION, "{0} is not an abstract class", className); Runtime.Assert(abstractClass.AbstractImplemented(currentClass), LOCATION, "{0} doesn't implement {1}", currentClass.ClassName, className); }