Итак, динамические языки, такие как IronRuby и IronPython, позволяют очень легко делать то, что вы хотите. Создайте движок сценария и выполните строку. Легко, как это.
C #, возможно, используя Code DOM ... но он каждый раз компилирует код в DLL. Это дорогое поведение и может привести к увеличению объема памяти вашего приложения с течением времени, если вы не сделаете некоторые сложные вещи с доменами приложений. Это МОЖЕТ быть сделано, но я действительно предпочитаю использовать IronRuby или IronPython по этому подходу. Это намного проще.
Наконец, в C # 5.0 мы ожидаем увидеть компилятор как управляемый сервис. Это означает, что вы сможете запустить eval ("// c # code") в будущем ... но он пока недоступен.
Надеюсь, это поможет!