Директивы препроцессора

Как вводить C# Preprocessor Directives на интерфейс по отражению?

Пример:
Я хочу сделать инъекцию #if SILVERLIGHT к любому интерфейсу контракта на обслуживание WCF.

2 ответа

Решение

Краткий ответ: вы не можете.
Немного более длинный ответ: ваш вопрос вообще не имеет смысла.

Директивы препроцессора обрабатываются перед компиляцией. Результатом этой обработки является новый измененный исходный код. Этот исходный код затем компилируется.

Например, если SILVERLIGHT символ не определен во время компиляции, тогда весь код между #if SiLVERLIGHT а также #endif будет полностью игнорироваться компилятором, как будто его там даже не было.

Это невозможно. Как следует из названия, директивы препроцессора существуют только непосредственно перед временем компиляции. Нигде более.

Другие вопросы по тегам