Dans un espace de noms, est-il possible de fournir un alias pour une classe? et si non, pourquoi pas? Par exemple, si j'avais plusieurs bibliothèques de choses dérivées d'une classe de base contenue, mais nommée, mais voulant l'aliaser comme "BaseClass", tout en conservant son nom de classe réel ("HtmlControl").Une classe peut-elle être aliasée en C#?
Alors les consommateurs pourraient toujours venir et étendre de HtmlControls.BaseClass, sans avoir à deviner de quelle classe il vient vraiment.
Non. Il n'est pas possible de créer un "alias". L'approche 'using' crée un alias * local * - il n'est pas exposé au-delà du code [source] dans la portée. Un type factice peut être capable de simuler un "alias". –
Je suis curieux de savoir ce que vous espérez obtenir si vous étiez en mesure de le faire. Il y a peut-être une meilleure façon d'accomplir ce que vous essayez de faire. – poindexter12
@poindexter, laissez-moi voir si je peux expliquer. Dites que je fournis une bibliothèque destinée au consommateur pour utiliser les classes ou en dériver de nouvelles de la classe de base. Continuant avec mon exemple, je veux que les consommateurs dérivent de nouveaux contrôles Html de ma classe de base. Maintenant ajoutez que j'ai 5 ou 50 ou 500 segments d'espace de noms suivant le modèle, au lieu que le consommateur doive rechercher de la documentation sur chacun d'eux, il peut vérifier si j'ai fourni le "indice" com.example.BaseClass dont il peut dériver rapidement, plutôt que de lire la documentation pour chacun. –