Type.IsClass Propiedad

Definición

Obtiene un valor que indica si Type es una clase o un delegado, es decir, no es un tipo de valor ni una interfaz.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 de propiedad

Boolean

Es true si Type es una clase; de lo contrario, es false.true if the Type is a class; otherwise, false.

Implementaciones

Ejemplos

En el ejemplo siguiente se crea una instancia de un tipo e indica si el tipo es una clase.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

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

Comentarios

Esta propiedad devuelve true para las clases y los delegados.This property returns true for classes as well as delegates. Devuelve false para los tipos de valor (para estructuras y enumeraciones) incluso si se les ha aplicado la conversión boxing.It returns false for value types (for structures and enumerations) even if they are boxed.

Si el actual Type representa un parámetro de tipo en la definición de un tipo genérico o de un método genérico, esta propiedad siempre devuelve true .If the current Type represents a type parameter in the definition of a generic type or generic method, this property always returns true. Si el actual Type representa un tipo genérico construido, esta propiedad devuelve true si la definición de tipo genérico es una definición de clase; es decir, no define una interfaz o un tipo de valor.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.

Nota

Esta propiedad devuelve true para Type las instancias de que representan las Enum ValueType clases y.This property returns true for Type instances that represent the Enum and ValueType classes. Estas dos clases son los tipos base para las enumeraciones y los tipos de valor, respectivamente, pero no son enumeraciones ni 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 más información, vea las propiedades IsValueType y IsEnum.For more information, see the IsValueType and IsEnum properties.

El TypeAttributes.ClassSemanticsMask valor de enumeración distingue una declaración de tipos como clase o interfaz. Sin embargo, las clases y los tipos de valor se marcan con el TypeAttributes.Class 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. Si recupera el valor de la propiedad Attributes de un tipo y utiliza el TypeAttributes.ClassSemanticsMask valor para determinar si un tipo es una clase en lugar de un tipo de valor, también debe llamar a la IsValueType propiedad.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. El ejemplo de la TypeAttributes enumeración contiene información adicional, así como un ejemplo.The example for the TypeAttributes enumeration contains additional information as well as anexample.

Esta propiedad es de sólo lectura.This property is read-only.

Se aplica a

Consulte también