Здравствуйте, возникла такая проблема.
Есть библиотека, выполняющая функции калькулятора. Ей задаются строки вида "a=5"(запомнить переменную с именем a и значение 5), "4+a"(возвратить результат 4+5) и т.д.
Необходимо сделать следующее, ввести стоку примера "apt(x,y)=aptfunc"(где apt — имя функции для запоминания, (x,y) — ее аргументы, aptfunc — имя делегата функции". Сам делегат определен в программе, вызывающей эту библиотеку:
class pr1
{
public static int apt(int x, int y)
{
return x * y;
}
}
class Program
{
public static CalcLib.CalcLib cl = new CalcLib.CalcLib();
delegate int aptdelg(int x,int y);
static void Main(string[] args)
{
aptdelg aptfunc = new aptdelg(pr1.apt);
cl["apt(x,y)"] = "aptfunc";
int result=cl["apt(3,4)"];
}
для получения результата result калькулятору отправляется строка "apt(3,4)", по которой она должна вызвать метод pr1.apt с аргументами 3 и 4.
так вот вопрос, как из библиотеки вызвать метод p1.apt с аргументами (3,4)
имея только текстовое название делегата "aptfunc", может чтото не так делаю, может нужно задавать строку так: "apt(x,y)=aptdelg", я в этом плохо понимаю...
Спасибо за ответы.