2009-05-10 5 views
2

J'ai 2 libs qui ont des cas différents sur des plates-formes différentes :(Il semble que tout le reste est le même (noms de méthodes, ordre param, etc.) Comment puis-je créer un alias Je compile pour plate-forme b (je détesterais vraiment faire un emballage pour la différence de cas)alias mot-clé (comme typedef) en C#?

+0

Pouvez-vous donner un code (simplifié) pour ce que vous voulez dire? Très probablement, il existe une meilleure façon de le faire. –

+0

duplication possible de [Comment alias un nom de classe en C#?] (Http://stackoverflow.com/questions/244246/how-do-i-alias-a-class-name-in-c) – nawfal

Répondre

4

vous pouvez utiliser le mot-clé en utilisant pour créer un alias:

using MyName = YourNamespace.YourSubNamespace.YourType; 

Vous pouvez ensuite inclure les alias conditionnellement à l'aide d'une directive #if. Cependant, vous devez le faire en haut de chaque fichier source: il n'y a pas de directive # include-like pour vous permettre de créer un fichier d'alias et de l'importer dans chaque fichier source. Donc, si vous envisagez de le faire pour une base de code importante, il peut être utile d'envisager une autre approche, telle que l'approche wrapper.

1

En C#, vous pouvez créer un alias pour un namespace or a type.Il n'est pas aussi flexible que typedef, mais il pourrait vous rendre possible . un alias du type dans votre lib a avoir la minuscule (ou majuscule ou autre) comme vous voulez faire