2010-11-30 5 views
0

J'ai un Winform Gui qui sert à diverses fins. Je crée un plugin supplémentaire, qui si présent, ajoute un autre onglet à mon tabcontrol, puis ajoute les contrôles requis, etc.C# ajouter des contrôles dans winform via le plugin dll

Ma question est, suis-je le mieux codant cela dans l'application principale, à savoir «si dll présente créer cette vue »ou devrais-je le coder dans la DLL et utiliser la réflexion? Est-il possible d'utiliser la réflexion?

Merci/

Répondre

3

Vous devriez peut-être regarder dans le cadre existant qui fait exactement ce que vous recherchez. Pour exemple, Managed Extensibility Framework MEF

présente une solution MEF simple pour le problème d'exécution extensibilité. Jusqu'à maintenant, toute application qui voulait soutenir un modèle de plugin nécessaire à créer sa propre infrastructure de zéro. Ces plugins sont souvent spécifiques à l'application et ne peuvent pas être réutilisés sur plusieurs implémentations . MEF fournit un manière standard pour l'application hôte de s'exposer et de consommer des extensions externes . Les extensions, par leur nature , peuvent être réutilisées parmi différentes applications. Cependant, une extension peut encore être implémentée d'une manière spécifique à l'application. Extensions eux-mêmes peuvent dépendre de un autre et MEF s'assurera que ils sont câblés ensemble dans l'ordre correct (une autre chose que vous ne devrez pas s'inquiéter). MEF offre un ensemble d'approches de découverte pour votre application pour localiser et charger extensions disponibles.

Ou si vous avez besoin d'être dans le domaine de l'application séparée, vous pouvez utiliser Managed cadre Addin MAF

Mais dans votre cas, je pense que MEF devrait faire l'affaire. Peut-être exagéré si vous avez juste ce scénario ... mais c'est une option.

+0

Excellent..cheers. –

Questions connexes