Type.IsClass Egenskap

Definition

Hämtar ett värde som anger om Type är en klass eller ett ombud, dvs. inte en värdetyp eller ett gränssnitt.

public:
 property bool IsClass { bool get(); };
public bool IsClass { get; }
member this.IsClass : bool
Public ReadOnly Property IsClass As Boolean

Egenskapsvärde

true Type om är en klass, annars false.

Implementeringar

Exempel

I följande exempel skapas en instans av en typ och anger om typen är en klass.

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

Kommentarer

Den här egenskapen returnerar true för klasser och ombud. Den returnerar false för värdetyper (för strukturer och uppräkningar) även om de är rutor.

Om strömmen Type representerar en typparameter i definitionen av en allmän typ eller allmän metod returnerar trueden här egenskapen alltid . Om den aktuella Type representerar en konstruerad allmän typ returnerar true den här egenskapen om den generiska typdefinitionen är en klassdefinition, det vill sägs att den inte definierar något gränssnitt eller en värdetyp.

Note

Den här egenskapen returnerar true för Type instanser som representerar Enum klasserna och ValueType . Dessa två klasser är bastyperna för uppräkningar respektive värdetyper, men de är inte själva uppräkningar eller värdetyper. Mer information finns i egenskaperna IsValueType och IsEnum.

Uppräkningsvärdet TypeAttributes.ClassSemanticsMask särskiljer en typdeklaration som klass eller gränssnitt. Både klasser och värdetyper markeras dock med attributet TypeAttributes.Class . Om du hämtar värdet för egenskapen Attribut för en typ och använder TypeAttributes.ClassSemanticsMask värdet för att avgöra om en typ är en klass i stället för en värdetyp, måste du även anropa IsValueType egenskapen. Exemplet för TypeAttributes uppräkningen innehåller ytterligare information samt ettexempel.

Den här egenskapen är skrivskyddad.

Gäller för

Se även