sql >> Databáze >  >> RDS >> PostgreSQL

Delegát System.Action nebere argumenty `1'

Prohlášení:Cítím se opravdu špatně, že nemohu nic najít to vysvětluje, proč to nefunguje. Pokud někdo ví; prosím řekni mi. Google zde selhal.

Je zřejmé, že kompilátor vybírá nesprávné přetížení pro Each . V knihovně jsou dva, jeden provede Action<T> a další, který provede Action<T, int> .

Pokud jste nepoužívali dynamic fungovalo by to dobře (kdybych měl hádat); ale dynamic způsobuje nejrůznější podivné problémy; plus používáte Mono.

Protože kompilátor trvá na použití druhého přetížení, řešení je dostatečně jednoduché. Stačí to použít!

DetectHistoryRebuild(migrationOperations).Each<dynamic>((o, i) => Generate(o));

Vzali jste si parametr navíc a nepoužili jste ho. Není to konec světa.

Můžete také explicitně vytvořit instanci Action takže kompilátor nemusí volit:

DetectHistoryRebuild(migrationOperations).Each<dynamic>(new Action(o => Generate(o)));


  1. MySQL se připojí a COUNT(*) z jiné tabulky

  2. Virtualmin:Po změně hesla nemáte přístup k této databázi MySQL

  3. Ovlivňuje použití magic_quotes() použití mysql_real_escape_string()

  4. Předobjednávka výpisu GROUP BY