Только средствами динамической компиляции, или, если правильнее называть вещи, рефлексей.
Почитайте про пространство имён System.Reflection
.
Синтаксис там простой, методы принимают на вход строковые аргументы.
Но я бы задумался о целесообразности такого подхода. Возможно, стоило бы пересмотреть архитектуру - динамическая компиляция является довольно медленной процедурой и может создать неслабую дыру в защите.