Type.IsClass Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft einen Wert ab, der angibt, ob Type eine Klasse oder ein Delegat ist, d. h. weder ein Werttyp noch eine Schnittstelle.
public:
property bool IsClass { bool get(); };
public bool IsClass { get; }
member this.IsClass : bool
Public ReadOnly Property IsClass As Boolean
Eigenschaftswert
true
, wenn Type eine Klasse ist, andernfalls false
.
Implementiert
Beispiele
Im folgenden Beispiel wird eine instance eines Typs erstellt und angegeben, ob der Typ eine Klasse ist.
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
Hinweise
Diese Eigenschaft gibt sowohl für Klassen als auch für Delegaten zurück true
. Sie gibt für Werttypen (für Strukturen und Enumerationen) zurück false
, auch wenn sie geschachtelt sind.
Wenn der aktuelle einen Typparameter in der Definition eines generischen Typs oder einer generischen Type Methode darstellt, gibt diese Eigenschaft immer zurück true
. Wenn der aktuelle einen konstruierten generischen Type Typ darstellt, gibt diese Eigenschaft zurück true
, wenn die generische Typdefinition eine Klassendefinition ist. Das heißt, sie definiert keine Schnittstelle oder einen Werttyp.
Hinweis
Diese Eigenschaft gibt für Type
Instanzen zurücktrue
, die die Enum Klassen und ValueType darstellen. Diese beiden Klassen sind die Basistypen für Enumerationen bzw. Werttypen, aber sie sind selbst keine Enumerationen oder Werttypen. Weitere Informationen finden Sie in den Ausführungen zur IsValueType-Eigenschaft und zur IsEnum-Eigenschaft.
Der TypeAttributes.ClassSemanticsMask Enumerationswert unterscheidet eine Typdeklaration als Klasse oder Schnittstelle. Sowohl Klassen als auch Werttypen werden jedoch mit dem TypeAttributes.Class -Attribut gekennzeichnet. Wenn Sie den Wert der Attributes-Eigenschaft eines Typs abrufen und den TypeAttributes.ClassSemanticsMask Wert verwenden, um zu bestimmen, ob ein Typ eine Klasse anstelle eines Werttyps ist, müssen Sie auch die IsValueType -Eigenschaft aufrufen. Das Beispiel für die TypeAttributes Enumeration enthält zusätzliche Informationen sowie ein Beispiel.
Diese Eigenschaft ist schreibgeschützt.