Type.IsClass Proprietà

Definizione

Ottiene un valore che indica se Type è una classe o un delegato, ovvero se non è un tipo di valore o un'interfaccia.

public bool IsClass { get; }

Valore della proprietà

true se il Type è una classe. In caso contrario, false.

Implementazioni

Esempio

Nell'esempio seguente viene creata un'istanza di un tipo e viene indicato se il tipo è una 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);
        }
    }
}

Commenti

Questa proprietà restituisce true per le classi e i delegati. Restituisce false per i tipi valore (per le strutture e le enumerazioni) anche se sono boxed.

Se l'oggetto corrente Type rappresenta un parametro di tipo nella definizione di un tipo generico o di un metodo generico, questa proprietà restituisce truesempre . Se l'oggetto corrente Type rappresenta un tipo generico costruito, questa proprietà restituisce true se la definizione di tipo generico è una definizione di classe, ovvero non definisce un'interfaccia o un tipo valore.

Nota

Questa proprietà restituisce true per Type le istanze che rappresentano le Enum classi e ValueType . Queste due classi sono i tipi di base per le enumerazioni e i tipi valore, rispettivamente, ma non sono enumerazioni o tipi valore stessi. Per altre informazioni, vedere le proprietà IsValueType e IsEnum.

Il TypeAttributes.ClassSemanticsMask valore di enumerazione distingue una dichiarazione di tipo come classe o interfaccia. Tuttavia, entrambe le classi e i tipi valore sono contrassegnati con l'attributo TypeAttributes.Class . Se si recupera il valore della proprietà Attributes di un tipo e si usa il TypeAttributes.ClassSemanticsMask valore per determinare se un tipo è una classe anziché un tipo valore, è necessario chiamare anche la IsValueType proprietà . L'esempio per l'enumerazione TypeAttributes contiene informazioni aggiuntive e un esempio.

Questa proprietà è di sola lettura.

Si applica a

Prodotto Versioni
.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

Vedi anche