Latest web development tutorials

C#の匿名メソッド

我々はすでに言及したように、参考のために同じラベルを持つデリゲートメソッドです。 言い換えれば、あなたは、デリゲートオブジェクトは、デリゲートメソッドの呼び出しにより参照することができます使用することができます。

匿名メソッド(匿名メソッド)デリゲートパラメータ技術として、パスコードブロックを提供します。匿名メソッドは、mainメソッドの名前だけではありません。

匿名メソッドでは、あなたはそれを推測メソッド本体内部のreturn文で、戻り値の型を指定する必要はありません。

匿名メソッドの構文を書きます

デリゲートを宣言するために、デリゲートのインスタンスのキーワードを作成することによって、匿名メソッド例えば:

ボイドNumberChanger(int型n)を委任する。
...
NumberChanger NC =デリゲート(int型x)は、
{
    Console.WriteLineを( "匿名メソッド:{0}"、x)は、
};

コードブロックConsole.WriteLineを( "匿名メソッド:{0 }"、x)は、匿名メソッドの主題です。

デリゲートは、デリゲートオブジェクトのメソッドにパラメータを渡すことによって、すなわち、メソッドに名前を付けることによって呼び出される匿名メソッド呼び出すことができます。

例えば:

NC(10)。

次の例では、匿名メソッドの概念を示しています。

システムを用いました。

ボイドNumberChanger(int型n)を委任する。
名前空間DelegateAppl
{
    クラスTestDelegate
    {
        静的なint型numの= 10;
        パブリック静的ボイドAddNum(int型P)
        {
            NUM + = P;
            Console.WriteLineを( "という名前のメソッド:{0}"、NUM);
        }

        公共の静的な無効MultNum(int型Q)
        {
            NUM * = Q;
            Console.WriteLineを( "という名前のメソッド:{0}"、NUM);
        }
        パブリックstatic int型getNum()
        {
            NUMを返します。
        }

        静的な無効メイン(文字列[] args)
        {
            デリゲートのインスタンスを作成するための//匿名を使用する方法NumberChanger NC =デリゲート(int型x)は、
            {
               Console.WriteLineを( "匿名メソッド:{0}"、x)は、
            };
            
            匿名デリゲートNC(10)を使用して//メソッドの呼び出し。

            //新しいNumberChanger(AddNumを)= ncは、デリゲートのインスタンスを作成するという名前のメソッドを使用します。
            
            //という名前のデリゲートを使用してメソッド呼び出しNC(5);

            //新しいNumberChanger(MultNumを)= ncは、デリゲートのインスタンスを作成するために、別のネーミング・メソッドを使用します。
            
            //という名前のデリゲートを使用してメソッド呼び出しNC(2);
            Console.ReadKey()。
        }
    }
}

上記のコードはコンパイルされ、実行されると、次の結果を生成します。

匿名メソッド:10
指定されたメソッド:15
指定されたメソッド:30