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