.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 }));
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д