C#: 関数内関数は可能か? 質問する

C#: 関数内関数は可能か? 質問する

C# でメソッド内に別のメソッドを宣言することは可能ですか?

例えば次のようになります:

void OuterMethod()
{
    int anything = 1;
    InnerMethod();     // call function
    void InnerMethod()
    {
        int PlitschPlatsch = 2;
    }
}

ベストアンサー1

アップデート:ローカル関数バージョン 7 C# で追加されました。

void OuterMethod()
{
    int foo = 1;
    InnerMethod();
    void InnerMethod()
    {
        int bar = 2;
        foo += bar
    }
}

以前のバージョンの C# では、次のようなアクションを使用する必要があります。

void OuterMethod()
{
    int anything = 1;
    Action InnedMethod = () =>
    {
        int PlitschPlatsch = 2;
    };
    InnedMethod();
}

おすすめ記事