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
, если определение универсального типа является определением класса, то есть оно не определяет интерфейс или тип значения.
Примечание
Это свойство возвращает для Type
true
экземпляров, представляющих классы Enum и ValueType . Эти два класса являются базовыми типами для перечислений и типов значений соответственно, но они не являются перечислениями или типами значений. Дополнительные сведения см. в описаниях свойств IsValueType и IsEnum.
Значение TypeAttributes.ClassSemanticsMask перечисления различает объявление типа как класс или интерфейс. Однако классы и типы значений помечаются атрибутом TypeAttributes.Class . Если вы извлекаете значение свойства Attributes типа и используете TypeAttributes.ClassSemanticsMask значение для определения того, является ли тип классом, а не типом значения, необходимо также вызвать IsValueType свойство . Пример перечисления TypeAttributes содержит дополнительные сведения, а также описание.
Это свойство доступно только для чтения.