Type.IsClass Type.IsClass Type.IsClass Type.IsClass Property

Definição

Obtém um valor que indica se o Type é uma classe ou um delegado; ou seja, não um tipo de valor ou interface.Gets a value indicating whether the Type is a class or a delegate; that is, not a value type or interface.

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

Valor da propriedade

true se o Type for uma classe; caso contrário, false.true if the Type is a class; otherwise, false.

Implementações

Exemplos

O exemplo a seguir cria uma instância de um tipo e indica se o tipo é uma classe.The following example creates an instance of a type and indicates whether the type is a class.

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);
        }
    }
}
Imports System.Reflection

Public Class MyDemoClass
End Class 'MyDemoClass

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 'MyTypeClass

Comentários

Essa propriedade retorna true para classes, bem como delegados.This property returns true for classes as well as delegates. Ele retorna false para tipos de valor (para estruturas e enumerações) mesmo se eles estiverem em caixa.It returns false for value types (for structures and enumerations) even if they are boxed.

Se Current Type representar um parâmetro de tipo na definição de um tipo genérico ou um método genérico, essa propriedade sempre retornará true. Se o atual Type representar um tipo genérico construído, essa propriedade retornará true se a definição de tipo genérico for uma definição de classe; ou seja, não definirá uma interface ou um tipo de valor.If the current Type represents a type parameter in the definition of a generic type or generic method, this property always returns true.If the current Type represents a constructed generic type, this property returns true if the generic type definition is a class definition; that is, it does not define an interface or a value type.

Observação

Essa propriedade retorna true para Type instâncias que representam as Enum classes ValueType e.This property returns true for Type instances that represent the Enum and ValueType classes. Essas duas classes são os tipos base para enumerações e tipos de valor, respectivamente, mas não são enumerações ou tipos de valor.These two classes are the base types for enumerations and value types, respectively, but they are not enumerations or value types themselves. Para obter mais informações, consulte IsValueType as IsEnum Propriedades e.For more information, see the IsValueType and IsEnum properties.

O TypeAttributes.ClassSemanticsMask valor de enumeração distingue uma declaração de tipo como classe ou interface. No entanto, as classes e os tipos de valor TypeAttributes.Class são marcados com o atributo.The TypeAttributes.ClassSemanticsMask enumeration value distinguishes a type declaration as class or interface.However, both classes and value types are marked with the TypeAttributes.Class attribute. Se você recuperar o valor da propriedade atributos de um tipo e usar o TypeAttributes.ClassSemanticsMask valor para determinar se um tipo é uma classe em vez de um tipo de valor, você também deve IsValueType chamar a propriedade.If you retrieve the value of a type's Attributes property and use the TypeAttributes.ClassSemanticsMask value to determine whether a type is a class instead of a value type, you must also call the IsValueType property. O exemplo para a TypeAttributes enumeração contém informações adicionais, bem como o exemplo.The example for the TypeAttributes enumeration contains additional information as well as anexample.

Esta propriedade é somente para leitura.This property is read-only.

Aplica-se a

Veja também