Type.IsClass Propriedade

Definição

Obtém um valor que indica se o Type é uma classe ou um delegado; ou seja, não um tipo de valor ou interface.

public bool IsClass { get; }

Valor da propriedade

true se o Type for uma classe; caso contrário, false.

Implementações

Exemplos

O exemplo a seguir cria uma instância de um tipo e indica se o tipo é uma classe.

using System;
using System.Reflection;

public  class MyDemoClass
{
}

public class MyTypeClass
{
    public static void Main(string[] args)
    {
        try
        {
            Type  myType = typeof(MyDemoClass);
            // Get and display the 'IsClass' property of the 'MyDemoClass' instance.
            Console.WriteLine("\nIs the specified type a class? {0}.", myType.IsClass);
        }
        catch(Exception e)
        {
            Console.WriteLine("\nAn exception occurred: {0}." ,e.Message);
        }
    }
}

Comentários

Essa propriedade retorna true para classes, bem como delegados. Ele retorna false para tipos de valor (para estruturas e enumerações), mesmo que estejam em caixa.

Caso o Type atual represente um parâmetro de tipo na definição de um tipo genérico ou um método genérico, esta propriedade sempre retorna true. Se o atual Type representar um tipo genérico construído, essa propriedade retornará true se a definição de tipo genérico for uma definição de classe; ou seja, ela não definirá uma interface ou um tipo de valor.

Nota

Essa propriedade retorna true para Type instâncias que representam as Enum classes e ValueType . Essas duas classes são os tipos base para enumerações e tipos de valor, respectivamente, mas não são enumerações ou tipos de valor em si. Para obter mais informações, confira as propriedades IsValueType e IsEnum.

O TypeAttributes.ClassSemanticsMask valor de enumeração distingue uma declaração de tipo como classe ou interface. No entanto, classes e tipos de valor são marcados com o TypeAttributes.Class atributo . Se você recuperar o valor da propriedade Attributes de um tipo e usar o TypeAttributes.ClassSemanticsMask valor para determinar se um tipo é uma classe em vez de um tipo de valor, você também deve chamar a IsValueType propriedade . O exemplo para a TypeAttributes enumeração contém informações adicionais, bem como anexample.

Esta propriedade é somente para leitura.

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, 8, 9
.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

Confira também