英語で読む

次の方法で共有


MethodBase.IsAbstract プロパティ

定義

メソッドが抽象メソッドかどうかを示す値を取得します。

C#
public bool IsAbstract { get; }

プロパティ値

このメソッドが抽象メソッドである場合は true。それ以外の場合は false

実装

次の例では、指定した メソッドが抽象メソッドであるかどうかを判断し、結果を表示します。

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;
    }
}

注釈

抽象メンバーは基底クラスで宣言され、実装は指定されていません。

を取得するには、最初に MethodBase型を取得します。 型から メソッドを取得します。 メソッドから、 を取得します MethodBaseMethodBaseまたは コンストラクターが public 以外の場合は、保護され、すぐにアクセスすることはできません。 非パブリック メソッドにアクセスするには、 で GetMethodマスクを にNonPublic設定しますBindingFlags

適用対象

製品 バージョン
.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

こちらもご覧ください