Я пытался сделать это:Можно ли использовать метод в качестве первого параметра для метода расширения?
public static EventHandler ToEventHandler(this Action callback)
{...}
для некоторого синтаксического сахара, когда я хочу, чтобы пройти простой метод, как void x()
к способу, который набранный для EventHandler
.
Но когда я пытаюсь назвать это так:
SomeMethod(x.ToEventHandler());
Я получаю ошибку компиляции:
x() is a 'method', which is not valid in the given context
Поскольку методы являются гражданами первого класса в .NET, я не могу понять, почему это не должно быть возможным. Почему это не так, и есть ли другой способ выполнить то, что я пытаюсь сделать?
проверить эту ссылку http://stackoverflow.com/questions/2082615/pass-method-as-parameter-using-c-sharp – rashfmnb
Вы попробовали перевести его на «Action»? Это группа методов, пока компилятор не знает иначе. –