Как сделать один алгоритм для множества функций? - C#
Формулировка задачи:
Собственно сабж.
Требуется для реализации клиент-серверного обмена, подобие RPC. Т.е. у меня есть на стороне клиента несколько классов с множеством функций, но алгоритм у всех один: сериализовать входные параметры, передать по сети, дождаться ответа и десериализовать полученные данные.
Пример одной из функции:
Меняются только входные атрибуты и тип выходных данных.
public override bool Login(string UserId, string Password)
{
byte[] data = client.Exec(
this.GetAddress(typeof(LoginService)),
this.GetAddress(typeof(LoginService).GetMethod("Login")),
UserId, Password
);
BinaryFormatter formatter = new BinaryFormatter();
using (var ms = new MemoryStream(data))
{
var retData = (bool)formatter.Deserialize(ms);
return retData;
}
return false;
}Решение задачи: «Как сделать один алгоритм для множества функций?»
textual
Листинг программы
public override AstraService.PropertiesType GetProperties()
{
var result = Calculate("GetProperties");
if(result == null)
return null;
else
return (AstraService.PropertiesType)result;
}