Sdílet prostřednictvím


Type.IsClass Vlastnost

Definice

Získá hodnotu určující, zda Type je třída nebo delegát; to znamená, ne typ hodnoty nebo rozhraní.

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

Hodnota vlastnosti

true pokud je třída Type , falsejinak .

Implementuje

Příklady

Následující příklad vytvoří instanci typu a určuje, zda typ je třída.

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

Poznámky

Tato vlastnost se vrátí true pro třídy i delegáty. false Vrátí hodnoty pro typy hodnot (pro struktury a výčty), i když jsou v rámečku.

Pokud aktuální Type představuje parametr typu v definici obecného typu nebo obecné metody, tato vlastnost vždy vrátí true. Pokud aktuální Type představuje vytvořený obecný typ, tato vlastnost vrátí true , pokud je definice obecného typu definice třídy; to znamená, že nedefinuje rozhraní nebo typ hodnoty.

Poznámka:

Tato vlastnost se vrátí true pro Type instance, které představují Enum a ValueType třídy. Tyto dvě třídy jsou základními typy pro výčty a typy hodnot, v uvedeném pořadí, ale nejsou výčty ani typy hodnot samotné. Další informace naleznete v tématu IsValueType a IsEnum vlastnosti.

Hodnota TypeAttributes.ClassSemanticsMask výčtu rozlišuje deklaraci typu jako třídu nebo rozhraní. Třídy i typy hodnot jsou však označeny atributem TypeAttributes.Class . Pokud načtete hodnotu vlastnosti Attributes typu a použijete TypeAttributes.ClassSemanticsMask hodnotu k určení, zda typ je třída namísto typu hodnoty, musíte také volat IsValueType vlastnost. Příklad výčtu TypeAttributes obsahuje další informace a také anexample.

Tato vlastnost je jen ke čtení.

Platí pro

Viz také