Я думаю, что это как-то связано со всей этой дисперсией, но я не совсем понимаю, почему это не разрешено.
у меня есть метод
public void method(Func<Enum, String> func)
И у меня есть несколько разных методов, таких как
public String doSomething(someEnum)
public String doSomethingElse(someOtherEnum)
Я хочу совершать такие звонки
method(doSomething)
method(doSomethingElse)
но я получаю эти ошибки
преобразовать из «группы методов» в
System.Func<System.Enum,string>
По какой причине это нельзя сделать? Мне действительно нужно переписать метод в несколько методов, подобных этому?
public void method(Func<someEnum, String> func)
public void method(Func<someOtherEnum, String> func)
Это действительно некрасиво.
редактировать:
Я хочу сделать что-то подобное в методе (обратите внимание, что в моем фактическом коде enumType также передается как тип)
foreach (Enum val in Enum.GetValues(enumType))
{
func(val);
}