Haftungsausschluss:Ich fühle mich wirklich schlecht, dass ich nichts finden kann das erklärt warum das nicht funktioniert. Wenn jemand weiß; Bitte sagen Sie mir. Google hat hier versagt.
Offensichtlich wählt der Compiler die falsche Überladung für Each
aus . Es gibt zwei in der Bibliothek, eine, die eine Action<T>
ausführt und eine andere, die eine Action<T, int>
ausführt .
Wenn Sie nicht dynamic
verwendet haben es würde gut funktionieren (wenn ich raten müsste); aber dynamic
verursacht alle möglichen seltsamen Probleme; plus Sie verwenden Mono.
Da der Compiler darauf besteht, dass Sie die andere Überladung verwenden, ist die Lösung einfach genug. Benutze es einfach!
DetectHistoryRebuild(migrationOperations).Each<dynamic>((o, i) => Generate(o));
Sie haben einen zusätzlichen Parameter genommen und ihn nicht verwendet. Es ist nicht das Ende der Welt.
Sie könnten die Action
auch einfach explizit instanziieren der Compiler muss also nicht wählen:
DetectHistoryRebuild(migrationOperations).Each<dynamic>(new Action(o => Generate(o)));