Вызвать функцию другой программы

92
10 сентября 2019, 07:10

Есть две программы Server и Client. Client знает о функциях сервера и хочет их вызвать.

Код ниже это просто пример того, что хотелось бы получить. У меня три вопроса: Можно ли запаковать вызов функции вместе с аргументами, затем передать и выполнить.

Код клиента:

class Client{
    public Server.MyType UserFnc(string data, int data2){ //Функция вызываемая пользователем
        object packedFnc = Server.UsefullFnc(data, data2); //Запакуем вызов функции которая есть на сервере
        var result = (Server.MyType)CallFnc(obj); //Получим результат
        return result; //Вернем результат пользователю
    }
    public object CallFnc(object obj){ // Функция отправки "вызова функции" серверу
        MemoryMappedFile.Write(obj); //записали obj в память и ждем
        //Wait for ReturnFnc
        object result = MemoryMappedFile.Read(); // дождались ответа, считываем и возвращаем результат
        return result;
    }
}

Код сервера

class Server{
    public void ReturnFnc{
        var cFnc = MemoryMappedFile.Read(); //Читаем вызов ф-ии
        var result = cFnc.invoke(); //выполняем UsefullFnc, получаем результат
        MemoryMappedFile.Write(result); //отправляем рузельтат
    }
    public MyType UsefullFnc(string data, int data2){ //Делает нечто полезное
            var result = new MyType(data, data2);
        return result;  
    }       
}
Answer 1

Нашел ответ по ссылке stackoverflow

class Program
{
    static void Main(string[] args)
    {
        var obj = new object(); // Replace here with your object 
        var type = obj.GetType();
        var methodInfo = type.GetMethod(methodName);
        // Invoke the method here
        methodInfo.Invoke(obj, null);
    }
}
READ ALSO
Найти уникальные строки

Найти уникальные строки

Всем привет, хочу найти уникальные строки при чтении файла

117
Как добавить проект Unittest-ов в Visual Studio Code ( Asp.Net Core)

Как добавить проект Unittest-ов в Visual Studio Code ( Asp.Net Core)

Есть проект, назовём его testProject и есть проект Unittest нужно что бы проект Unittest видел папку Models из проекта testProject, как это сделать?

109
Почему не выполняется метод объекта WMI?

Почему не выполняется метод объекта WMI?

Пытаюсь создать ManagementObject и выполнить какой-то его методПопытка номер 1:

100