Condividi tramite


Type.IsClass Proprietà

Definizione

Ottiene un valore che indica se Type è una classe o un delegato, ovvero se non è un tipo di valore o un'interfaccia.

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

Valore della proprietà

true se il Type è una classe. In caso contrario, false.

Implementazioni

Esempio

Nell'esempio seguente viene creata un'istanza di un tipo e viene indicato se il tipo è una classe .

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

Commenti

Questa proprietà restituisce true per le classi e i delegati. Restituisce false per i tipi valore (per le strutture e le enumerazioni) anche se sono boxed.

Se l'oggetto corrente Type rappresenta un parametro di tipo nella definizione di un tipo generico o di un metodo generico, questa proprietà restituisce truesempre . Se l'oggetto corrente Type rappresenta un tipo generico costruito, questa proprietà restituisce true se la definizione di tipo generico è una definizione di classe, ovvero non definisce un'interfaccia o un tipo valore.

Nota

Questa proprietà restituisce true per Type le istanze che rappresentano le Enum classi e ValueType . Queste due classi sono i tipi di base per le enumerazioni e i tipi valore, rispettivamente, ma non sono enumerazioni o tipi valore stessi. Per altre informazioni, vedere le proprietà IsValueType e IsEnum.

Il TypeAttributes.ClassSemanticsMask valore di enumerazione distingue una dichiarazione di tipo come classe o interfaccia. Tuttavia, entrambe le classi e i tipi valore sono contrassegnati con l'attributo TypeAttributes.Class . Se si recupera il valore della proprietà Attributes di un tipo e si usa il TypeAttributes.ClassSemanticsMask valore per determinare se un tipo è una classe anziché un tipo valore, è necessario chiamare anche la IsValueType proprietà . L'esempio per l'enumerazione TypeAttributes contiene informazioni aggiuntive e un esempio.

Questa proprietà è di sola lettura.

Si applica a

Vedi anche