J'essaie de construire une application de base qui utilise des plugins afin que le noyau ne change jamais et chaque fois que nous obtenons un nouveau client, nous écrivons un module pour eux. Nous implémentons une interface appelée IClientPlugin avec la nouvelle classe de client. Ceci utilise le Framework 3.5 et Windows Mobile 6.5.3.Comment faire appel à une classe principale pour appeler une classe client?
Voici donc ce que je dois acheive:
c'est un système de gestion d'entrepôt. La première tâche consiste à recevoir dans le produit à partir d'un camion des codes à barres de numérisation des paquets avec l'appareil de poche.
Le module principal est lancé lorsque la personne clique sur l'élément de menu de réception.
la méthode de base est - callClientMethod()
Je sais que le nom du client et il est stocké dans une variable globale à l'ouverture et la classe sera {clientname}.cs
et contiennent une méthode appelée processReceiving()
.
Je sais comment instancier cet objet.
La question est: existe-t-il un moyen de créer dynamiquement une instance de la classe client sans instructions de cas codées en dur? Par exemple, supposons que j'ai 2 clients Acme et Widgets. Par exemple, supposons que j'ai 2 clients Acme et Widgets. Si je me connecte en tant qu'Acme ou Widgets, je veux que le code crée dynamiquement une instance de la classe Client que j'ai connectée afin que le code de base ne doive pas changer comme j'ajoute plus de clients aussi longtemps que j'ajoute un module pour eux.
exemple psuedo:
var myClient = New (Clientname)();
Est-ce possible ou est-il une meilleure approche de conception ou est l'instruction switch/cas un mal neccessary?
Les parenthèses d'angle sont mangées par le système et je l'ai remplacé par {{clientname} .cs'. N'étant pas un programmeur C#, je n'ai aucune idée si cela est acceptable pour indiquer le passe-partout. – Verbeia
Je pense que les gens auront toujours le point grâce verbela. –
Les classes client résident-elles dans le même assembly? – misha