2011-06-22 3 views
3

Est-il possible de demander à Autofac d'enregistrer automatiquement tous les formulaires Windows dans mon assembly? Cette fonctionnalité serait très probablement similaire à la capacité du support Autofac MVC à enregistrer tous les contrôleurs?Autofac - Enregistrer tous les formulaires Windows

En ce moment, je fais:

foreach (var type in Assembly.GetExecutingAssembly().GetTypesSafely().Where(type => type.IsSubclassOf(typeof(Form)))) 
    builder.RegisterType(type); 

Répondre

3

Pour autant que je sais qu'il n'y a pas construit en méthode pour ajouter toutes les formes Win. Mais vous pouvez faire quelque chose comme ça.

var assembly = Assembly.GetExecutingAssembly(); 
builder.RegisterAssemblyTypes(assembly) 
    .Where(type => type.IsSubclassOf(typeof(Form))); 
+0

Parfait. J'ai ajouté une parenthèse supplémentaire pour vous si. :-) –

6

Voici une manière courte et douce de le faire:

var assembly = Assembly.GetExecutingAssembly(); 
builder.RegisterAssemblyTypes(assembly) 
    .AssignableTo<Form>(); 
Questions connexes