C # выполнение строки как кода… стоит ли Усилие?

Вот история:

Я делаю приложение winforms на C #, чтобы упростить определение оборудования для расценок на аренду.

В нем у меня есть List of ~ 1500 стандартных элементов.

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

Так, например, один элемент (назовем его Item0001 ) имеет этот аксессор get , которому может потребоваться выполнить некоторые код, который может выглядеть примерно так:

[some code to get the following items from the list here]

if(Item0002.Value + Item0003.Value > Item0004.Value)
{ return Item0002.Value }
else
{ return Item0004.Value }

Это все хорошо, но эти фрагменты кода, вероятно, будут меняться еженедельно, поэтому я стараюсь избегать частого повторного развертывания. Кроме того, каждый элемент может (будет) иметь совершенно другой код. стоит ли прилагать все усилия для устранения всех потенциальных проблем, связанных с этим подходом, или мое время было бы лучше потратить на написание функции автоматического обновления в приложении и просто сохранение всего этого в основном приложении (чтобы пользователь мог просто позволить приложению обновляться сам раз в неделю)?

  • Еще одна (вероятно, плохая) идея заключалась в переносе всего кода автоспецификации в отдельную библиотеку DLL и либо ее повторном развертывании, когда это необходимо, либо возможно даже сослаться на одну DLL в общей сетевой диск?
  • Думаю, это довольно опасная территория, как бы я ни пошел. Может ли кто-нибудь сказать мне, открываю ли я банку с червями, лучше всего оставить ее хорошо и по-настоящему закрытой?

    Есть ли лучший способ сделать все это? У меня есть привычка усложнять вещи, от которых я пытаюсь избавиться: P

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

    Приношу извинения, если я плохо объяснил это.

    Заранее спасибо

    5
    задан Jez Clark 29 March 2011 в 21:39
    поделиться