Type.IsSubclassOf Method

May 11, 2014

Determines whether the class represented by the current Type derives from the class represented by the specified Type.

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

public virtual bool IsSubclassOf(
	Type c
)

Parameters

c
Type: System.Type
The Type to compare with the current Type.

Return Value

Type: System.Boolean
true if the Type represented by the c parameter and the current Type represent classes, and the class represented by the current Type derives from the class represented by c; otherwise, false. This method also returns false if c and the current Type represent the same class.

ExceptionCondition
ArgumentNullException

The c parameter is null.

The IsSubclassOf method cannot be used to determine whether an interface derives from another interface, or whether a class implements an interface. Use the GetInterface method for that purpose. Note that if a type is dervived from an interface, this method returns true for that type being a subclass of Object.

If the current Type represents a type parameter in the definition of a generic type or generic method, it derives from its class constraint or from System.Object if it has no class constraint.

NoteNote:

If the IsSubclassOf is the converse of IsAssignableFrom. That is, if t1.IsSubclassOf(t2) is true, then t2.IsAssignableFrom(t1) is also true.

This method can be overridden by a derived class.

The following example demonstrates the use of the IsSubclassOf method by creating an instance of a class and an instance of its derived class.


using System;

public class Class1 { }
public class DerivedC1 : Class1 { }

class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      Class1 myClass = new Class1();
      DerivedC1 myDClass = new DerivedC1();
      Type myClassType = myClass.GetType();
      Type myDClassType = myDClass.GetType();

      // Returns true:
      outputBlock.Text += String.Format("myDClass subclass of myClass: {0}", myDClassType.IsSubclassOf(myClassType)) + "\n";
   }
}


Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2014 Microsoft