2

非静的メソッドでデリゲートを使用できるはずだとかなり確信していますが、以下はエラーを示しています。

public class TestClass
{
    private delegate void TestDelegate();
    TestDelegate testDelegate = new TestDelegate(MyMethod);

    private void MyMethod()
    {
        Console.WriteLine("Foobar");
    }
}

私が得ているエラーは次のとおりです。

フィールド初期化子は、非静的フィールド、メソッド、またはプロパティを参照できません

MyMethodを静的にすると、すべてが正常に機能します。非静的メソッドでデリゲートを使用できると考えるのは単に間違っていたのでしょうか(過去に使用したことを覚えていると思います)。

4

2 に答える 2

0

TestDelegate testDelgate = MyMethod; はどうですか。

于 2013-02-13T18:07:51.823 に答える