В среде API, где происходит обмен форматом JSON, я хочу создать структуру, которая может точно вызывать интерфейс и метод-член.
Могу ли я вызывать любой метод из клиента по одному интерфейсу без использования строк? Ниже приведена структура, которую я хочу реализовать.
# A.dll
public interface IUserProxy
{
object Select();
object SelectBySeq();
}
public class DataPack
{
public Type Proxy { get; set; }
// I want just set interface member method.
public var IMethod {get; set; }
}
# B.dll
public class UserProxy : IUserProxy
{
public object Select()
{
return some code..;
}
public object SelectBySeq()
{
return some code..;
}
}
public class Program1
{
static void Main(string[] args)
{
var svc = RunHttpService();
svc.Start(port: 7777);
svc.PostRequest += PostRequest;
}
static void PostRequest(DataPack pack)
{
var proxy = FindProxyInstance(pack.Proxy);
// Call Select (inteface member)
// from pack.IMethod
// pack.Select();
}
}
# C.dll
void PostRequest1()
{
var svc = new MyService<IUserProxy>();
svc.DataPack.Proxy = typeof(IUserProxy);
// I want set call target in interface member method.
svc.Datapack.IMethod = IUserProxy.Select;
// Json Serialize Http Protocol.
svc.Run();
}
void PostRequest2()
{
var svc = new MyService<IUserProxy>();
svc.DataPack.Proxy = typeof(IUserProxy);
// I want set call target in interface member method.
svc.Datapack.IMethod = IUserProxy.SelectByReq;
// Json Serialize Http Protocol.
svc.Run();
}
Я знаю, что моего объяснения не хватает, но я пытался объяснить его настолько, насколько мог.