Penafian:Saya merasa sangat tidak enak karena tidak dapat menemukan apa pun yang menjelaskan mengapa ini tidak berhasil. Jika seseorang tahu; tolong beritahu aku. Google telah gagal di sini.
Jelas kompiler memilih kelebihan yang salah untuk Each . Ada dua di perpustakaan, satu yang mengambil Action<T> dan satu lagi yang mengambil Action<T, int> .
Jika Anda tidak menggunakan dynamic itu akan bekerja dengan baik (jika saya harus menebak); tapi dynamic menyebabkan segala macam masalah aneh; tambah Anda menggunakan Mono.
Karena kompiler bersikeras Anda menggunakan kelebihan lainnya, solusinya cukup sederhana. Gunakan saja!
DetectHistoryRebuild(migrationOperations).Each<dynamic>((o, i) => Generate(o));
Anda mengambil parameter tambahan dan tidak menggunakannya. Ini bukan akhir dunia.
Anda juga bisa secara eksplisit membuat instance Action jadi compiler tidak harus memilih:
DetectHistoryRebuild(migrationOperations).Each<dynamic>(new Action(o => Generate(o)));