Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Type.IsAbstract propriété

 

Date de publication : novembre 2016

Obtient une valeur indiquant si le Type est abstrait et doit être substitué.

Espace de noms:   System
Assembly:  mscorlib (dans mscorlib.dll)

public bool IsAbstract { get; }

Valeur de propriété

Type: System.Boolean

true si le Type est abstrait ; sinon, false.

Implémente

_Type.IsAbstract

Le IsAbstract propriété renvoie true dans les cas suivants :

  • Le type actuel est abstrait ; Autrement dit, il ne peut pas être instanciée, mais peut servir uniquement à la classe de base pour les classes dérivées. En c#, classes abstraites sont marquées avec le abstract (référence C#) (mot clé) ; en Visual Basic, elles sont marquées avec le MustInherit (Visual Basic) (mot clé).

  • Le type actuel est une interface.

Si le courant Type représente un paramètre de type dans la définition d’un type générique ou une méthode générique, cette propriété retourne toujours false.

L’exemple suivant crée un tableau de Type objets qui représentent les types suivants : contient des retours de type true si l’objet spécifié est abstract; sinon, elle retourne false.

  • AbstractClass, une classe abstraite (une classe marquée en tant que abstract en c# et MustInherit en Visual Basic).

  • DerivedClass, une classe qui hérite de AbstractClass.

  • SingleClass, une classe non héritable. Il est défini en tant que sealed en c# et NotInheritable en Visual Basic.

  • ITypeInfo, une interface.

  • ImplementingClass, une classe qui implémente le ITypeInfo interface.

La méthode retourne true uniquement pour AbstractClass, la classe abstraite, et ITypeInfo, l’interface.

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 depuis 1.1
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Retour au début
Afficher: