.NET 2.x Передать метод по сети и запустить его на удаленной машине - C#

Узнай цену своей работы

Формулировка задачи:

Нужно передать метод (в любой реализации - как делегат, или как-то по-другому) по сети и запустить его на удаленном компе. Трабла в том, что пишу на .Net 2.0 (чтобы программа смогла запустится на большинстве компьютеров) и применить аля Func и Action не могу. Спасибо.
Эта задача нереализуема?)

Решение задачи: «.NET 2.x Передать метод по сети и запустить его на удаленной машине»

textual
Листинг программы
   var csc = new CSharpCodeProvider(new Dictionary<string, string>() { { "CompilerVersion", "v4.0" } });
            var parameters = new CompilerParameters(new[] { "mscorlib.dll", "System.Core.dll" }, "foo.dll", false);
            parameters.GenerateExecutable = false;
            CompilerResults results = csc.CompileAssemblyFromSource(parameters,
@"using System;
class Program
{
    public int Method(int a ,int b )
    {
        return a*b ;
    } 
}");
 
            results.Errors.Cast<CompilerError>().ToList().ForEach(error => Console.WriteLine(error.ErrorText));
 
            Assembly assembly = Assembly.LoadFrom("foo.dll");
            Type type = assembly.GetType("Program");
            object instanceOfMyType = Activator.CreateInstance(type);
            MethodInfo method = type.GetMethod("Method");
            Console.WriteLine((int)method.Invoke(instanceOfMyType, new object[] { 5, 5 }));

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5
Похожие ответы