Lire en anglais

Partager via


Type.IsInstanceOfType(Object) Méthode

Définition

Détermine si l'objet spécifié est une instance du Type actuel.

C#
public virtual bool IsInstanceOfType(object? o);
C#
public virtual bool IsInstanceOfType(object o);

Paramètres

o
Object

Objet à comparer au type actuel.

Retours

true si le Type actuel se trouve dans la hiérarchie d'héritage de l'objet représenté par o ou si le Type actuel est une interface que o implémente. false si aucune de ces conditions n'est respectée, si o est null ou si le Type actuel est un type générique ouvert (autrement dit, ContainsGenericParameters retourne true).

Implémente

Exemples

L'exemple suivant illustre l'utilisation de la méthode IsInstanceOfType.

C#
using System;

public interface IExample {}

public class BaseClass : IExample {}

public class DerivedClass : BaseClass {}

public class Example
{
    public static void Main()
    {
        var interfaceType = typeof(IExample);
        var base1 = new BaseClass();
        var base1Type = base1.GetType();
        var derived1 = new DerivedClass();
        var derived1Type = derived1.GetType();
        int[] arr = new int[11];

        Console.WriteLine("Is int[] an instance of the Array class? {0}.",
                           typeof(Array).IsInstanceOfType(arr));
        Console.WriteLine("Is base1 an instance of BaseClass? {0}.",
                          base1Type.IsInstanceOfType(base1));
        Console.WriteLine("Is derived1 an instance of BaseClass? {0}.",
                          base1Type.IsInstanceOfType(derived1));
        Console.WriteLine("Is base1 an instance of IExample? {0}.",
                          interfaceType.IsInstanceOfType(base1));
        Console.WriteLine("Is derived1 an instance of IExample? {0}.",
                          interfaceType.IsInstanceOfType(derived1));
    }
}
// The example displays the following output:
//    Is int[] an instance of the Array class? True.
//    Is base1 an instance of BaseClass? True.
//    Is derived1 an instance of BaseClass? True.
//    Is base1 an instance of IExample? True.
//    Is derived1 an instance of IExample? True.

Remarques

Cette méthode peut être remplacée par une classe dérivée.

Note

Un type construit n’est pas une instance de sa définition de type générique. Autrement dit, MyGenericList<int> (MyGenericList(Of Integer) en Visual Basic) n’est pas une instance de MyGenericList<T> (MyGenericList(Of T) en Visual Basic).

S’applique à

Produit Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1