Поделиться через


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 namespace System;
using namespace System::Reflection;
public ref class MyDemoClass{};

int main()
{
   try
   {
      Type^ myType = Type::GetType( "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 );
   }

}
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 , если определение универсального типа является определением класса, то есть оно не определяет интерфейс или тип значения.

Примечание

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

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

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

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

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