Ler em inglês

Compartilhar via


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.

C#
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.

C#
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.

Observação

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, 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

Confira também