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)));