Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Type.IsAbstract-Eigenschaft

 

Veröffentlicht: Oktober 2016

Ruft einen Wert ab, der angibt, ob der Type abstrakt ist und überschrieben werden muss.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

public bool IsAbstract { get; }

Eigenschaftswert

Type: System.Boolean

true, wenn Type abstrakt ist, andernfalls false.

Implementiert

_Type.IsAbstract

Die IsAbstract -Eigenschaft gibt true in den folgenden Fällen:

  • Der aktuelle Typ ist abstrakt. d. h. kann nicht instanziiert werden, aber kann nur als Basisklasse für abgeleitete Klassen dienen. Abstrakte Klassen werden in c# mit markiert die abstract (C#-Referenz) Schlüsselwort in Visual Basic markiert sind mit den MustInherit (Visual Basic) Schlüsselwort.

  • Der aktuelle Typ ist eine Schnittstelle.

Wenn die aktuelle Type einen Typparameter in der Definition eines generischen Typs oder generische Methode darstellt, auf diese Eigenschaft gibt immer false.

Das folgende Beispiel erstellt ein Array von Type Objekte, die die folgenden Typen darstellen: Typ gibt enthält true , wenn das angegebene Objekt abstractist, andernfalls gibt false.

  • AbstractClass, eine abstrakte Klasse (eine Klasse als markiert abstract in C# geschrieben und MustInherit in Visual Basic).

  • DerivedClass, eine Klasse, die von erben AbstractClass.

  • SingleClass, einer nicht vererbbaren Klasse. Es ist definiert als sealed in C# geschrieben und NotInheritable in Visual Basic.

  • ITypeInfo, eine Schnittstelle.

  • ImplementingClass, eine Klasse, implementiert die ITypeInfo Schnittstelle.

Gibt die Methode true nur für AbstractClass, die abstrakte Klasse und ITypeInfo, die Schnittstelle.

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
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Zurück zum Anfang
Anzeigen: