Disclaimer:ik voel me erg slecht dat ik niets kan vinden dat verklaart waarom dit niet werkt. Als iemand weet; vertel me alsjeblieft. Google heeft hier gefaald.
Het is duidelijk dat de compiler de verkeerde overbelasting kiest voor Each
. Er zijn er twee in de bibliotheek, een die een Action<T>
. uitvoert en een andere die een Action<T, int>
. uitvoert .
Als u dynamic
niet gebruikte het zou goed werken (als ik moest raden); maar dynamic
veroorzaakt allerlei rare problemen; plus je gebruikt Mono.
Omdat de compiler erop staat dat je de andere overbelasting gebruikt, is de oplossing eenvoudig genoeg. Gebruik het gewoon!
DetectHistoryRebuild(migrationOperations).Each<dynamic>((o, i) => Generate(o));
U heeft een extra parameter genomen en deze niet gebruikt. Het is niet het einde van de wereld.
Je zou ook gewoon expliciet de Action
kunnen instantiëren zodat de compiler niet hoeft te kiezen:
DetectHistoryRebuild(migrationOperations).Each<dynamic>(new Action(o => Generate(o)));