Auf Englisch lesen

Teilen über


Type.IsClass Eigenschaft

Definition

Ruft einen Wert ab, der angibt, ob Type eine Klasse oder ein Delegat ist, d. h. weder ein Werttyp noch eine Schnittstelle.

C#
public bool IsClass { get; }

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.

C#
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);
        }
    }
}

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.

Gilt für:

Produkt Versionen
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Weitere Informationen