Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. |
Traduction
Source
|
Type.IsSubclassOf, méthode
Assembly : mscorlib (dans mscorlib.dll)
Paramètres
- c
- Type : System.Type
Type à comparer avec le type actuel.
Valeur de retour
Type : System.Booleantrue si le Type représenté par le paramètre c et le Type actuel représentent des classes et si la classe représentée par le Type en cours dérive de la classe représentée par c ; sinon, false. Cette méthode retourne également false si c et le Type actuel représentent la même classe.
Implémentations
_Type.IsSubclassOf(Type)| Exception | Condition |
|---|---|
| ArgumentNullException |
Le paramètre c est null. |
La méthode IsSubclassOf ne peut pas être utilisée pour déterminer si une interface dérive d'une autre interface ou si une classe implémente une interface. Utilisez la méthode GetInterface pour cela. Notez que si un type est dérivé d'une interface, cette méthode retourne true pour ce type qui est une sous-classe de Object.
Si le Type actuel représente un paramètre de type d'une définition de type ou de méthode générique, il dérive de sa contrainte de classe ou de System.Object s'il ne possède aucune contrainte de classe.
Remarque
|
|---|
|
Si le IsSubclassOf est l'inverse de IsAssignableFrom. Ainsi, si t1.IsSubclassOf(t2) a la valeur true, t2.IsAssignableFrom(t1) a également la valeur true. |
Cette méthode peut être substituée par une classe dérivée.
L'exemple suivant illustre l'utilisation de la méthode IsSubclassOf en créant une instance d'une classe et une instance de sa classe dérivée.
using System; public class Class1 { } public class DerivedC1 : Class1 { } class IsSubclassTest { public static void Main() { Class1 myClass = new Class1(); DerivedC1 myDClass = new DerivedC1(); Type myClassType = myClass.GetType(); Type myDClassType = myDClass.GetType(); // Returns true: Console.WriteLine("myDClass subclass of myClass: {0}", myDClassType.IsSubclassOf(myClassType)); Console.ReadLine(); } }
Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Remarque