Type.IsClass 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取一个值,通过该值指示 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此属性返回 true
Type
。 这两个类分别是枚举和值类型的基类型,但它们本身不是枚举或值类型。 有关详细信息,请参阅 IsValueType 和 IsEnum 属性。
枚举 TypeAttributes.ClassSemanticsMask 值将类型声明区分为类或接口。 但是,类和值类型都使用 TypeAttributes.Class 属性进行标记。 如果检索类型的 Attributes 属性的值并使用 TypeAttributes.ClassSemanticsMask 值来确定类型是类而不是值类型,则还必须调用该 IsValueType 属性。 枚举的示例 TypeAttributes 包含其他信息以及示例。
此属性为只读。