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
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

Type.IsSubclassOf, méthode

Détermine si la classe représentée par le Type en cours dérive de la classe représentée par le Type spécifié.

Espace de noms :  System
Assembly :  mscorlib (dans mscorlib.dll)
[ComVisibleAttribute(true)]
public virtual bool IsSubclassOf(
	Type c
)

Paramètres

c
Type : System.Type
Type à comparer avec le type actuel.

Valeur de retour

Type : System.Boolean
true 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 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();
    }
}


.NET Framework

Pris en charge dans : 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Pris en charge dans :

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.
Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ