Инструмент предварительной обработки C# существует?

Используйте функцию календаря для создания новых объектов Date, используя getTime():

import java.util.GregorianCalendar;
import java.util.Date;

Calendar cal = new GregorianCalendar();
cal.add(Calendar.DAY_OF_MONTH, -7);
Date sevenDaysAgo = cal.getTime();
6
задан Brian Tompsett - 汤莱恩 8 July 2016 в 19:03
поделиться

4 ответа

Оказывается, использование препроцессора GNU C (cpp) напрямую (а не через gcc) обеспечивает больший контроль над выводом. Используя это, я смог обработать исходные файлы подходящим образом ...

Вот пример:

cpp -C -P -DSUBPROJECT Input.cs Output.cs

Я пытался заставить компилятор C / C ++, поставляемый с Visual Studio, делать что-то подобное, но после этого отказался. некоторое время ...

3
ответ дан 16 December 2019 в 21:45
поделиться

Мне неизвестен препроцессор для C #, который позволил бы вам экспортировать подмножество исходного кода без его сборки.

Однако вы сможете достичь того же эффекта, используя шаблон генерации кода. Просто измените директивы препроцессора на соответствующий эквивалент шаблона.

Visual Studio 2008 имеет встроенный инструмент генерации кода под названием T4 . Есть и другие сторонние варианты, такие как CodesmithTools или бесплатный MyGeneration.Net

2
ответ дан 16 December 2019 в 21:45
поделиться

Я не верю, что есть какие-либо флаги для csc или msc (монокомпилятор) для вывода предварительно обработанных файлов.

Если бы мне пришлось это сделать, а это было бы небольшим подмножеством Я бы скомпилировал, а затем использовал Reflector , чтобы декомпилировать обратно на C # и экспортировать файлы. Если у вас много файлов, существует надстройка Reflector под названием FileGenerator for Reflector .

К сожалению, это не будет точной копией вашей кодовой базы - он переформатирует весь код, и вы потеряете все комментарии.

2
ответ дан 16 December 2019 в 21:45
поделиться

Возможно Не будет ли проще и, что более идиоматично, C #, создавать интерфейсы и иметь разные реализации этих интерфейсов? Один набор, который можно упаковать в виде библиотеки и распространять?

1
ответ дан 16 December 2019 в 21:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: