Oui, passez les arguments du constructeur dans une instance d'un type anonyme ; les noms des propriétés doivent correspondre aux noms des paramètres du constructeur :
IColor couleurDesiree = //quelque chose
int nombreDesire = //autre chose
IFoo foo = container.Resolve(new { c = couleurDesiree, somenumber = valeurArgumentDesire });
Si vous utilisez une version plus ancienne de C# qui ne prend pas en charge les types anonymes (ou même si ce n'est pas le cas), vous pouvez faire la même chose avec un dictionnaire :
IColor couleurDesiree = //quelque chose
int nombreDesire = //quelque chose d'autre
Dictionary arguments = new Dictionary();
arguments.Add("c", couleurDesiree);
arguments.Add("somenumber", nombreDesire);
IFoo foo = container.Resolve(arguments);