LINUX.ORG.RU

C# builder (mono)

 ,


0

2

Только начал изучать c#

Задача такая - нужно предусмотреть в коде динамические переменные, которые можно будет задавать при компилировании..

хотелось бы обойтись без ресурсного файла, если есть такая возможность.

компилировать буду в linux, компилятором mono, под .net framework 2.0

Буду рад любым подсказкам



Последнее исправление: Namestnik (всего исправлений: 1)

динамические переменные, которые можно будет задавать при компилировании

Что под этим подразумеватся? #define?

encyrtid ★★★★★
()
Ответ на: комментарий от encyrtid

Извините, неверно выразился

в программе имеется одномерный строковый массив

string[] conf = { «str1», «str2», «str3», «str4», «str5» };

Мне бы хотелось при компилировании переопределять его содержимое

То есть как-то указывать компилятору эти данные, чтобы в скомпилированном exe был этот актуальный массив

Namestnik
() автор топика
Ответ на: комментарий от Namestnik

Разве что подставлять в cs файл нужные значения на pre-build шаге.

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

Midael ★★★★★
()
Ответ на: комментарий от Namestnik

Можно определить нужные тебе профили сборки, прописать нужные переменные и использовать #if:

#if VAR1
    string[] conf = { "str1" };
#elif VAR2
    string[] conf = { "str1", "str2" };
#else
    string[] conf = { "str1", "str2", "str3", "str4", "str5" };
#endif

encyrtid ★★★★★
()
Последнее исправление: encyrtid (всего исправлений: 1)
Ответ на: комментарий от Namestnik

Мне бы хотелось при компилировании переопределять его содержимое

Посмотри Mono.TextTemplating, это порт стандартного шаблонного движка t4 от студии. С его помощью можно создать исходник перед или во время сборки проекта.

Если массив является только частью класса, то можно вынести его в partial класс.

amm
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.