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.

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.

Gilt für:

Weitere Informationen