Ler em inglês

Compartilhar via


Type.IsInstanceOfType(Object) Método

Definição

Determina se o objeto especificado é uma instância do Type atual.

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

Parâmetros

o
Object

O objeto a ser comparado com o tipo atual.

Retornos

Boolean

true se o Type atual estiver na hierarquia de herança do objeto representado pelo o ou se o Type atual for uma interface implementada por o. false se nenhuma dessas condições for verdadeira, se o for null ou se o Type atual for um tipo genérico aberto (ou seja, ContainsGenericParameters retorna true).

Implementações

Exemplos

O exemplo a seguir demonstra o uso do método 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.

Comentários

Este método pode ser substituído por uma classe derivada.

Observação

Um tipo construído não é uma instância de sua definição de tipo genérico. Ou seja, MyGenericList<int> ( MyGenericList(Of Integer) em Visual Basic) não é uma instância de MyGenericList<T> ( em MyGenericList(Of T) Visual Basic).

Aplica-se a

Produto Versões
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.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
.NET Standard 2.0, 2.1