public static T GetServiceReference <T>(string serviceName, string nsHost = DefaultHostname, int nsPort = DefaultPort) where T : IToyOrbService { var lookupRequest = new NameLookupMessage(serviceName); var lookupResponse = new Requestor <NameLookupMessage, NameResponseMessage>(nsHost, nsPort).MakeRequest(lookupRequest); var remoteProxy = new ClientSideProxy(lookupResponse.TypeName, lookupResponse.Host, lookupResponse.Port); return(DynamicProxy.NewProxyInstance <T>(remoteProxy)); }
public void TestMethod4() {//未添加 virual IGamePlayer player = DynamicProxy <GamePlayerB> .NewProxyInstance(new InvocationHandler()); player.Upgrade(); player.KillBoss(); //Debug Trace: //B: 升级 //B:杀怪 }
public void TestMethod3() { IGamePlayer player = DynamicProxy <GamePlayerA> .NewProxyInstance(new InvocationHandler()); player.Upgrade(); player.KillBoss(); //Debug Trace: //A: 升级 // 动态添加其他的操作 //A: 杀怪 // 动态添加其他的操作 }