Бөлісу құралы:


Type.IsClass Свойство

Определение

Получает значение, указывающее, является ли Type класс или делегат; то есть не тип значения или интерфейс.

public:
 property bool IsClass { bool get(); };
public bool IsClass { get; }
member this.IsClass : bool
Public ReadOnly Property IsClass As Boolean

Значение свойства

true Type Значение , falseесли класс является классом; в противном случае .

Реализации

Примеры

В следующем примере создается экземпляр типа и указывается, является ли тип классом.

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);
        }
    }
}
type MyDemoClass = class end

try
    let myType = typeof<MyDemoClass>
    // Get and display the 'IsClass' property of the 'MyDemoClass' instance.
    printfn $"\nIs the specified type a class? {myType.IsClass}."
with e ->
    printfn $"\nAn exception occurred: {e.Message}."
Imports System.Reflection

Public Class MyDemoClass
End Class

Public Class MyTypeClass
    Public Shared Sub Main()
        Try
            Dim myType As Type = GetType(MyDemoClass)
            ' Get and display the 'IsClass' property of the 'MyDemoClass' instance.
            Console.WriteLine(ControlChars.Cr + "Is the specified type a class? {0}.", myType.IsClass.ToString())
        Catch e As Exception
            Console.WriteLine(ControlChars.Cr + "An exception occurred: {0}.", e.Message.ToString())
        End Try
    End Sub
End Class

Комментарии

Это свойство возвращается true для классов, а также делегатов. Он возвращает false типы значений (для структур и перечислений), даже если они заданы.

Если текущий Type представляет параметр типа в определении универсального типа или универсального метода, это свойство всегда возвращается true. Если текущий Type представляет созданный универсальный тип, это свойство возвращается true , если определение универсального типа является определением класса; то есть оно не определяет интерфейс или тип значения.

Замечание

Это свойство возвращается true для Type экземпляров, представляющих Enum и ValueType классы. Эти два класса являются базовыми типами перечислений и типов значений соответственно, но они не являются перечислениями или типами значений. Дополнительные сведения см. в IsValueType разделе и IsEnum свойствах.

Значение TypeAttributes.ClassSemanticsMask перечисления различает объявление типа как класс или интерфейс. Однако оба класса и типы значений помечены атрибутом TypeAttributes.Class . Если вы извлекаете значение свойства Атрибутов типа и используете TypeAttributes.ClassSemanticsMask значение, чтобы определить, является ли тип классом вместо типа значения, необходимо также вызвать IsValueType свойство. Пример перечисления TypeAttributes содержит дополнительные сведения, а также анекспир.

Это свойство доступно только для чтения.

Применяется к

См. также раздел