Type.IsClass Type.IsClass Type.IsClass Type.IsClass Property

Определение

Получает значение, позволяющее определить, является объект Type классом или делегатом (иными словами, не является типом значения или интерфейсом).Gets a value indicating whether the Type is a class or a delegate; that is, not a value type or interface.

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

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

true Если Type является классом; в противном случае false.if the Type is a class; otherwise, false.

Реализации

Примеры

В следующем примере создается экземпляр типа и указывает, является ли тип классом.The following example creates an instance of a type and indicates whether the type is a class.

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);
        }
    }
}
Imports System
Imports System.Reflection
Imports Microsoft.VisualBasic

Public Class MyDemoClass
End Class 'MyDemoClass

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 'Main
End Class 'MyTypeClass

Комментарии

Это свойство возвращает true для классов, а также делегаты.This property returns true for classes as well as delegates. Он возвращает false для типов значений (для структуры и перечисления) даже в том случае, если они упакованы.It returns false for value types (for structures and enumerations) even if they are boxed.

Если текущий Type представляет параметр типа в определении универсального типа или метода, это свойство всегда возвращает true. Если текущий Type представляет сконструированный универсальный тип, это свойство возвращает true Если определение универсального типа является определение класса; то есть он не определяет интерфейс или типом значения.If the current Type represents a type parameter in the definition of a generic type or generic method, this property always returns true.If the current Type represents a constructed generic type, this property returns true if the generic type definition is a class definition; that is, it does not define an interface or a value type.

Примечание

Это свойство возвращает true для Type экземпляры, представляющие Enum и ValueType классы.This property returns true for Type instances that represent the Enum and ValueType classes. Эти два класса — базовые типы для перечисления и типы значений, соответственно, но они не перечисления или тип значения, сами.These two classes are the base types for enumerations and value types, respectively, but they are not enumerations or value types themselves. Дополнительные сведения см. в разделе IsValueType и IsEnum свойства.For more information, see the IsValueType and IsEnum properties.

TypeAttributes.ClassSemanticsMask Значение перечисления, являющийся отличительным признаком объявление типа, как класс или интерфейс. Тем не менее, классов и типов значений будут отмечены TypeAttributes.Class атрибута.The TypeAttributes.ClassSemanticsMask enumeration value distinguishes a type declaration as class or interface.However, both classes and value types are marked with the TypeAttributes.Class attribute. Если вы извлекаете значение свойства атрибуты типа и используйте TypeAttributes.ClassSemanticsMask значение, чтобы определить, является ли тип класса, а не типом значения, необходимо также вызвать IsValueType свойство.If you retrieve the value of a type's Attributes property and use the TypeAttributes.ClassSemanticsMask value to determine whether a type is a class instead of a value type, you must also call the IsValueType property. Пример для TypeAttributes перечисление содержит дополнительные сведения, а также anexample.The example for the TypeAttributes enumeration contains additional information as well as anexample.

Это свойство доступно только для чтения.This property is read-only.

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

Дополнительно