Я хочу передать Func<IList<object>, int>
методу, который принимает Func<IEnumerable<object>, int>
. Кажется, это не работает. Можно ли сделать что-то вроде ниже?Передача Func <IList, int> методу, принимающему Func <IEnumerable, int>?
class A {
void Test() {
IList<object> data = new List<object>();
// can't pass in MyFunc, doesn't compile
ApplyFunc(MyFunc, data);
}
int MyFunc(IList<object> data) {
return 0;
}
void ApplyFunc(Func<IEnumerable<object>, int> f, IList<object> data) {
f(data);
}
}
Это возможно дубликат https://stackoverflow.com/questions/36006997/func-variance-with-multiple-parameters/36007182 или https://stackoverflow.com/questions/13025176/conversion-from-funcobject-string-to-funcstring-string- работает, но к funcint. – kiziu