Type.IsClass Eigenschap

Definitie

Hiermee wordt een waarde opgehaald die aangeeft of het Type een klasse of een gemachtigde is. Dat wil zeggen, geen waardetype of interface.

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

Waarde van eigenschap

trueals de Type klasse een klasse is, anders. false

Implementeringen

Voorbeelden

In het volgende voorbeeld wordt een exemplaar van een type gemaakt en wordt aangegeven of het type een klasse is.

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

Opmerkingen

Deze eigenschap retourneert true voor klassen en gemachtigden. Deze retourneert false voor waardetypen (voor structuren en opsommingen), zelfs als ze in een vak worden geplaatst.

Als de huidige Type een typeparameter vertegenwoordigt in de definitie van een algemeen type of algemene methode, retourneert truedeze eigenschap altijd . Als de huidige Type een geconstrueerd algemeen type vertegenwoordigt, geeft deze eigenschap als resultaat true als de algemene typedefinitie een klassedefinitie is. Dat wil gezegd, er wordt geen interface of een waardetype gedefinieerd.

Note

Deze eigenschap retourneert true voor Type exemplaren die de Enum en ValueType klassen vertegenwoordigen. Deze twee klassen zijn respectievelijk de basistypen voor opsommingen en waardetypen, maar ze zijn geen opsommingen of waardetypen zelf. Zie de eigenschappen IsValueType en IsEnum voor meer informatie.

De TypeAttributes.ClassSemanticsMask opsommingswaarde onderscheidt een typedeclaratie als klasse of interface. Beide klassen en waardetypen worden echter gemarkeerd met het TypeAttributes.Class kenmerk. Als u de waarde van de eigenschap Kenmerken van een type ophaalt en de TypeAttributes.ClassSemanticsMask waarde gebruikt om te bepalen of een type een klasse is in plaats van een waardetype, moet u ook de IsValueType eigenschap aanroepen. Het voorbeeld voor de TypeAttributes opsomming bevat aanvullende informatie en een voorbeeld.

Deze eigenschap is alleen-lezen.

Van toepassing op

Zie ook