Type.IsAbstract Property
Gets a value indicating whether the Type is abstract and must be overridden.
Assembly: mscorlib (in mscorlib.dll)
Implements
_Type.IsAbstractThe 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.
Public MustInherit Class AbstractClass End Class Public Class DerivedClass : Inherits AbstractClass End Class Public NotInheritable Class SingleClass End Class Public Interface ITypeInfo Function GetName() As String End Interface Public Class ImplementingClass : Implements ITypeInfo Public Function GetName() As String _ Implements ITypeInfo.GetName Return Me.GetType().FullName End Function End Class Delegate Function InputOutput(inp As String) As String Module Example Public Sub Main() Dim types() As Type = { GetType(AbstractClass), GetType(DerivedClass), GetType(ITypeInfo), GetType(SingleClass), GetType(ImplementingClass), GetType(InputOutput) } For Each type In types Console.WriteLine("{0} is abstract: {1}", type.Name, type.IsAbstract) Next End Sub End Module ' The example displays the following output: ' AbstractClass is abstract: True ' DerivedClass is abstract: False ' ITypeInfo is abstract: True ' SingleClass is abstract: False ' ImplementingClass is abstract: False ' InputOutput is abstract: False
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0