Type.IsAbstract Property


Gets a value indicating whether the Type is abstract and must be overridden.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

abstract IsAbstract : bool with get
override IsAbstract : bool with get

Property Value

Type: System.Boolean

true if the Type is abstract; otherwise, false.

The IsAbstract property returns true in the following cases:

  • The current type is abstract; that is, it cannot be instantiated, but can only serve as the base class for derived classes. In C#, abstract classes are marked with the abstract (C# Reference) keyword; in Visual Basic, they are marked with the MustInherit (Visual Basic) keyword.

  • The current type is an interface.

If the current Type represents a type parameter in the definition of a generic type or generic method, this property always returns false.

The following example creates an array of Type objects that represent the following types:contains type returns true if the specified object is abstract; otherwise, it returns false.

  • AbstractClass, an abstract class (a class marked as abstract in C# and MustInherit in Visual Basic).

  • DerivedClass, a class that inherits from AbstractClass.

  • SingleClass, a non-inheritable class. It is defined as sealed in C# and NotInheritable in Visual Basic.

  • ITypeInfo, an interface.

  • ImplementingClass, a class that implements the ITypeInfo interface.

The method returns true only for AbstractClass, the abstract class, and ITypeInfo, the interface.

No code example is currently available or this language may not be supported.

.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Return to top