Freigeben über


Type.IsClass Eigenschaft

Definition

Ruft einen Wert ab, der angibt, ob es Type sich um eine Klasse oder einen Delegaten handelt, d. h. keinen Werttyp oder 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 es sich um Type eine Klasse handelt; falseandernfalls .

Implementiert

Beispiele

Im folgenden Beispiel wird eine Instanz eines Typs erstellt und angegeben, ob es sich bei dem Typ um eine Klasse handelt.

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 Stellvertretungen zurück true . Er gibt false für Werttypen (für Strukturen und Enumerationen) zurück, auch wenn sie boxen.

Wenn der aktuelle Parameter 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 es sich bei der generischen Typdefinition um eine Klassendefinition handelt. Das heißt, es definiert keine Schnittstelle oder einen Werttyp.

Hinweis

Diese Eigenschaft gibt für Type Instanzen zurücktrue, die die Enum Klassen ValueType darstellen. Diese beiden Klassen sind die Basistypen für Enumerationen und Werttypen, sie sind jedoch keine Enumerationen oder Werttypen selbst. Weitere Informationen finden Sie unter den IsValueType Und IsEnum Eigenschaften.

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 es sich bei einem Typ um eine Klasse anstelle eines Werttyps handelt, 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:

Weitere Informationen