Type.IsClass 属性

定义

获取一个值,通过该值指示 Type 是否是一个类或委托;即,不是值类型或接口。

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

属性值

如果 Type 是类,则为 true;否则为 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 (如果泛型类型定义是类定义);也就是说,它不定义接口或值类型。

注意

对于表示 和 ValueType 类的实例,Enum此属性返回 trueType 。 这两个类分别是枚举和值类型的基类型,但它们本身不是枚举或值类型。 有关详细信息,请参阅 IsValueTypeIsEnum 属性。

枚举 TypeAttributes.ClassSemanticsMask 值将类型声明区分为类或接口。 但是,类和值类型都使用 TypeAttributes.Class 属性进行标记。 如果检索类型的 Attributes 属性的值并使用 TypeAttributes.ClassSemanticsMask 值来确定类型是类而不是值类型,则还必须调用该 IsValueType 属性。 枚举的示例 TypeAttributes 包含其他信息以及示例。

此属性为只读。

适用于

另请参阅