Type.IsClass Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene un valor que indica si Type es una clase o un delegado, es decir, no es un tipo de valor ni una interfaz.
public:
property bool IsClass { bool get(); };
public bool IsClass { get; }
member this.IsClass : bool
Public ReadOnly Property IsClass As Boolean
Valor de propiedad
Es true si Type es una clase; de lo contrario, es false.
Implementaciones
Ejemplos
En el ejemplo siguiente se crea una instancia de un tipo y se indica si el tipo es una clase.
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
Comentarios
Esta propiedad devuelve true para clases, así como delegados. Devuelve false para los tipos de valor (para estructuras y enumeraciones) incluso si están boxeados.
Si el objeto actual Type representa un parámetro de tipo en la definición de un tipo genérico o un método genérico, esta propiedad siempre devuelve true. Si el objeto 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 ni un tipo de valor.
Nota
Esta propiedad devuelve true para Type instancias que representan las Enum clases y ValueType . Estas dos clases son los tipos base para enumeraciones y tipos de valor, respectivamente, pero no son enumeraciones ni tipos de valor. Para más información, vea las propiedades IsValueType y IsEnum.
El TypeAttributes.ClassSemanticsMask valor de enumeración distingue una declaración de tipo como clase o interfaz. Sin embargo, las clases y los tipos de valor se marcan con el TypeAttributes.Class atributo . Si recupera el valor de la propiedad Attributes de un tipo y usa 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 . El ejemplo de la TypeAttributes enumeración contiene información adicional, así como anexample.
Esta propiedad es de sólo lectura.