est-il un moyen de créer des macros dans C#Création de macro dans C#
ex:
chaîne checkString = " 'bob' == 'bobthebuilder'" (ce sera dynamique)
si (@@ checkString) // ......... autre // .........
Merci
est-il un moyen de créer des macros dans C#Création de macro dans C#
ex:
chaîne checkString = " 'bob' == 'bobthebuilder'" (ce sera dynamique)
si (@@ checkString) // ......... autre // .........
Merci
non, C# ne pas les macros. Vous pourriez capturer votre logique dans un délégué et appliquer ce délégué à plusieurs endroits, potentiellement ... cela vous aiderait-il?
Si vous pouviez décrire le problème que vous tentez de résoudre plutôt que la solution que vous souhaitez, nous pourrons peut-être vous aider davantage.
Réponse courte: Non
Réponse longue: Vous pouvez écrire un wrapper autour de préprocesseur du compilateur C/C++.
La plupart de la syntaxe sera acceptée à l'exception notable de # région/# endregion. Vous pouvez juste préfixer ceux aveC#pragma avant le traitement, et enlever la partie #pragma après.
T4 semble gagner du terrain ces jours-ci pour le travail .NET. Ce n'est pas tout à fait ce que vous avez demandé, mais il peut être extrêmement bénéfique dans certains cas (ou il peut être juste un indice sur le mauvais chemin).
Dans la plupart des cas, esp. avec les génériques, je ne souhaite pas de 'templates' ou de 'macros' en C# (ou Scala). Dans l'exemple ci-dessus, vous pouvez simplement utiliser:
bool sameStuff = "'bob' == 'bobthebuilder'";
...
if (sameStuff) {
...
}
Les cas plus complexes peuvent généralement être traitées avec des méthodes de refactoring ou en utilisant des fonctions anonymes.
De plus, les attributs (bien que complètement différents) complètent le cas de nombreuses utilisations «traditionnelles» des modèles.
Comme mentionné, non, mais il y a un certain nombre d'autres approches:
#if