我想將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