Есть ли способ эмулировать "макросы" в C #? - PullRequest
3 голосов
/ 28 марта 2011

Я пытаюсь сделать CodeContracts в C # больше похожими на операторы, поэтому мне нужен инструмент, который позволит мне заменить некоторый код до того, как компилятор его увидит, если нет способа сделать это, я думаю, плагин Visual Studio поможет тоже.

Ответы [ 4 ]

5 голосов
/ 28 марта 2011

Попытка бороться с синтаксисом языка, подобного C #, просто плохая идея.Инструменты, которые вы используете, будут сопротивляться решимости.

Просто плывите по течению и перестаньте пытаться плыть против течения.Скоро вы привыкнете к синтаксису, и он будет понятен всем, кто работает с кодом.

2 голосов
/ 28 марта 2011

Вы всегда можете передать код через препроцессор C ++ (например, mcpp ) перед отправкой кода в компилятор C #. Это дало бы вам полную силу макросов C ++:)

Полагаю, вы могли бы использовать для этого задачу перед сборкой.

Я использую этот подход в одном из моих проектов (хотя это не C #, а совсем другой язык, но мне нужны были C ++, подобные макросам).

0 голосов
/ 28 марта 2011

А как насчет деревьев выражений ?

0 голосов
/ 28 марта 2011
...