C # создание обработчика событий «имя метода ожидается» ошибка - PullRequest
2 голосов
/ 27 января 2012

Итак, у меня есть класс, созданный специально для хранения метода обработки событий, который я хочу использовать в нескольких других классах:

class MyHandler
{
    public MyHandler()
    {
    }

    public void Method1(object sender, EventArgs e)
    {

    }
}

Теперь, если я сделаю:

button1.Click += new System.EventHandler(this, MyHandler.Method1);

Iполучите ошибку, указанную в названии.Что я тут не так делаю?

Ответы [ 2 ]

5 голосов
/ 27 января 2012

Непонятно, для чего предназначены ваши аргументы. Если код подписки на событие находится в методе экземпляра MyHandler, вы просто хотите:

button1.Click += new System.EventHandler(Method1);

или более кратко:

button1.Click += Method1;

Если это класс другого , вам нужно либо создать экземпляр MyHandler, например

MyHandler handler = new MyHandler();
button1.Click += handler.Method1;

или сделайте метод Method1 статическим и подпишитесь так:

button1.Click += MyHandler.Method1;
3 голосов
/ 27 января 2012

Используйте это

class MyHandler
{
    public static void Method1(object sender, EventArgs e)
    {

    }
}

button1.Click += MyHandler.Method1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...