Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Propiedad Type.IsAbstract

 

Publicado: octubre de 2016

Obtiene un valor que indica si Type es abstracto y se debe invalidar.

Espacio de nombres:   System
Ensamblado:  mscorlib (en mscorlib.dll)

public bool IsAbstract { get; }

Valor de propiedad

Type: System.Boolean

Es true si Type es abstracto; en caso contrario, es false.

El IsAbstract propiedad devuelve true en los casos siguientes:

  • El tipo actual es abstracto; es decir, no se pueden crear instancias, pero solo puede actuar como clase base para las clases derivadas. En C#, clases abstractas se marcan con la abstract (Referencia de C#) palabra clave; en Visual Basic, se marcan con la MustInherit (Visual Basic) palabra clave.

  • El tipo actual es una interfaz.

Si la 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 false.

En el ejemplo siguiente se crea una matriz de Type objetos que representan los tipos siguientes: contiene los valores devueltos de tipo true si el objeto especificado es abstract; en caso contrario, devuelve false.

  • AbstractClass, una clase abstracta (una clase marcada como abstract en C# y MustInherit en Visual Basic).

  • DerivedClass, una clase que hereda de AbstractClass.

  • SingleClass, una clase no heredable. Se define como sealed en C# y NotInheritable en Visual Basic.

  • ITypeInfo, una interfaz.

  • ImplementingClass, una clase que implementa el ITypeInfo interfaz.

El método devuelve true sólo para AbstractClass, la clase abstracta, y ITypeInfo, la interfaz.

using System;

public abstract class AbstractClass
{}

public class DerivedClass : AbstractClass
{}

public sealed class SingleClass
{}

public interface ITypeInfo
{
   string GetName();
}

public class ImplementingClass : ITypeInfo
{
   public string GetName()
   {
      return this.GetType().FullName;
   }
}

delegate string InputOutput(string inp);

public class Example
{
   public static void Main()
   {
      Type[] types= { typeof(AbstractClass),
                      typeof(DerivedClass),
                      typeof(ITypeInfo),
                      typeof(SingleClass),
                      typeof(ImplementingClass),
                      typeof(InputOutput) };
      foreach (var type in types)
         Console.WriteLine("{0} is abstract: {1}",
                           type.Name, type.IsAbstract);

   }
}
// The example displays the following output:
//       AbstractClass is abstract: True
//       DerivedClass is abstract: False
//       ITypeInfo is abstract: True
//       SingleClass is abstract: False
//       ImplementingClass is abstract: False
//       InputOutput is abstract: False

.NET Framework
Disponible desde 1.1
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Volver al principio
Mostrar: