Comment gérer le même nom de classe dans différents espaces de noms?
Je suis en train de créer une commune de la structure de la bibliothèque. Je suis en train de faire cela en créant des projets distincts pour chaque commune de la lib je veux
J'ai les 2 espaces de noms: MyCompany.ERP et MyCompany.Code-barres
J'ai besoin de deux d'entre eux d'avoir une classe nommée "Utilitaires" et d'être statique. Si je fais ce que je puis avoir besoin de spécifier le nom d'espace de noms avant de ma classe statique pour y accéder.
Est-il un autre moyen préféré pour le faire?
Ou je doit aller pour des noms différents dans les classes comme BarcodeUtils et ERPUtils ?
source d'informationauteur e4rthdog | 2012-11-12
Vous devez vous connecter pour publier un commentaire.
Non, il n'est pas nécessaire pour que, bien que les détails dépendent de la classe qui vont utiliser ces types et la
à l'aide de
déclarations.Si vous utilisez uniquement un les espaces de noms dans la classe, il n'y a pas d'ambiguïté, et vous pouvez aller de l'avant et utiliser le type.
Si vous utilisez à la fois des espaces de noms, vous devrez soit pleinement de qualifier les usages, ou de l'utilisation de l'espace de noms/type alias pour lever l'ambiguïté sur les types.
Il n'y a pas d'autre moyen. Vous pouvez faire un alias dans
using
directives:C'est la façon la plus simple de les gérer.
La MS lignes directrices ont ceci à dire:
et
Je suis d'accord que c'est probablement une bonne idée d'utiliser
BarcodeUtilities
etErpUtilities
à la place. (À moins que l'utilitaire de classes ne sont pas destinés à être utilisés par le code du client, auquel cas vous pouvez les nommerUtilities
et de les rendreinternal
.)"Utilitaires" n'est pas un très bon nom pour une classe, car il est beaucoup trop générique. Donc, je pense que vous devez renommer les deux d'entre eux à quelque chose de plus instructif.
Vous pouvez utiliser un alias:
sur les pages que vous avez des affrontements. Mais, idéalement, de les renommer si c'est le cas dans beaucoup d'endroits.
Je voudrais suggérer à l'aide de différents noms de classe. Si vraiment vous voulez l'appeler tous les deux Utilitaires ensuite, vous pouvez utiliser la fonctionnalité d'alias à l'aide de la directive, par exemple
Vous devrez utiliser le chemin d'accès complet lorsque les deux sont le même nom. Sinon, vous aurez une référence ambiguë erreur.
Vous pouvez utiliser un alias toutefois cela vous fera économiser de taper:
Je pencherais pour un autre nom qui est un peu plus descriptif. Un
Il dépend en réalité de la fin des classes. Si vous allez distribuer votre code-Barres.Services publics et ERP.Utilitaires séparément, il est mieux de rester comme cela. D'autre part, si vous allez les utiliser seulement dans la même classe, vous pouvez utiliser 2. méthode pour la facilité de code.