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.