Zastrzeżenie:czuję się naprawdę źle, że nie mogę znaleźć niczego to wyjaśnia, dlaczego to nie działa. Jeśli ktoś wie; Powiedz mi, Proszę. Google zawiodło tutaj.
Najwyraźniej kompilator wybiera niewłaściwe przeciążenie dla Each
. W bibliotece są dwa, z których jedna przyjmuje Action<T>
i inny, który przyjmuje Action<T, int>
.
Jeśli nie używałeś dynamic
działałoby dobrze (jeśli miałbym zgadywać); ale dynamic
powoduje różnego rodzaju dziwne problemy; plus używasz Mono.
Ponieważ kompilator nalega na użycie drugiego przeciążenia, rozwiązanie jest dość proste. Po prostu go użyj!
DetectHistoryRebuild(migrationOperations).Each<dynamic>((o, i) => Generate(o));
Wziąłeś dodatkowy parametr i nie użyłeś go. To nie koniec świata.
Możesz także po prostu jawnie utworzyć instancję Action
więc kompilator nie musi wybierać:
DetectHistoryRebuild(migrationOperations).Each<dynamic>(new Action(o => Generate(o)));