MethodBase.IsAbstract Właściwość

Definicja

Pobiera wartość wskazującą, czy metoda jest abstrakcyjna.

C#
public bool IsAbstract { get; }

Wartość właściwości

true jeśli metoda jest abstrakcyjna; w przeciwnym razie , false.

Implementuje

Przykłady

Poniższy przykład określa, czy określona metoda jest abstrakcyjna i wyświetla wynik.

C#
using System;
using System.Reflection;
// using System.Windows.Forms;

class methodbase
{
    public static int Main(string[] args)
    {
        Console.WriteLine ("\nReflection.MethodBase");

        // Get the types.
        Type MyType1 = Type.GetType("System.Runtime.Serialization.Formatter");
        Type MyType2 = Type.GetType("System.Reflection.MethodBase");

        // Get and display the methods.
        MethodBase Mymethodbase1 =
            MyType1.GetMethod("WriteInt32", BindingFlags.NonPublic|BindingFlags.Instance);

        MethodBase Mymethodbase2 =
            MyType2.GetMethod("GetCurrentMethod", BindingFlags.Public|BindingFlags.Static);

        Console.Write("\nMymethodbase = " + Mymethodbase1.ToString());
        if (Mymethodbase1.IsAbstract)
            Console.Write ("\nMymethodbase is an abstract method.");
        else
            Console.Write ("\nMymethodbase is not an abstract method.");

        Console.Write("\n\nMymethodbase = " + Mymethodbase2.ToString());
        if (Mymethodbase2.IsAbstract)
            Console.Write ("\nMymethodbase is an abstract method.");
        else
            Console.Write ("\nMymethodbase is not an abstract method.");

        return 0;
    }
}

Uwagi

Element członkowski abstrakcyjny jest deklarowany w klasie bazowej i nie ma dostarczonej implementacji.

Aby uzyskać element MethodBase, najpierw pobierz typ. Z typu pobierz metodę . Z metody pobierz wartość MethodBase. MethodBase Jeśli konstruktor lub jest inny niż publiczny, jest chroniony i nie może być łatwo dostępny. Aby uzyskać dostęp do metody innej niż publiczna, ustaw maskę BindingFlags na NonPublic w .GetMethod

Dotyczy

Produkt Wersje
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Zobacz też