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 содержит дополнительные сведения, а также анекспир.
Это свойство доступно только для чтения.