Ce que je veux faire est d'écrire des classes en C# dans un nouvel espace de noms qui agissent comme des classes wrapper pour les classes d'un autre espace de noms. Parfois, une classe wrapper n'est pas nécessaire mais je veux toujours une classe correspondante dans le nouvel espace de noms. Et je veux une copie exacte de la classe. Existe-t-il un moyen de définir la classe dans le nouvel espace de noms en se référant à la définition d'une autre classe? En d'autres termes, je veux un alias.C# alias de type public?
Pour clarifier ce que je veux dire, si l'espace de noms existant est nommé « namespace1 » et le nouvel espace de noms est nommé « Namespace2 », en utilisant le code comme ceci dans Namespace2:
using Class1 = Namespace1.Class1;
ne fonctionnerait pas parce que Namespace2.Class1
ne serait pas exister. Class1 serait seulement aliasé "private" à Namespace2 et non "public" à Namespace2. Si je pouvais utiliser Namepsace2.Class1
de l'extérieur de l'espace de noms, et si cela ferait encore référence à Namespace1.Class1
, alors ce serait ce que je veux.
J'ai pensé qu'il pourrait y avoir un moyen d'accomplir ceci avec des attributs ou une réflexion peut-être. S'il y avait quelques directives de pré-processeur ou des macros qui pourraient copier le code qui fonctionnerait aussi, mais évidemment C# n'a rien de tel.
Pourquoi ne pas hériter? – Sergei