void ShuttleDomain_SendAndReturnByRef(IServiceFunctionTest test) { ICommonService service1; ICommonService service2; _shuttleDomain.TryGetService(out service1); _shuttleDomain.TryGetService(out service2); ICommonService service; test.SendAndReturnByRef("Liu", 100, service1, ref service2, out service); #if DOASSERT var age2 = service2.Age; var name2 = service2.Name; var nameLength2 = service2.NameLength; var firstName2 = service2.FirstName; var lastName2 = service2.LastName; var age3 = service.Age; var name3 = service.Name; var nameLength3 = service.NameLength; var firstName3 = service.FirstName; var lastName3 = service.LastName; if (age2 != 140 || name2 != "LiuJingyi" || nameLength2 != 5 || firstName2 != "0" || lastName2 != "4" || age3 != 180 || name3 != "<Jingyi>Jingyi" || nameLength3 != 5 || firstName3 != "0" || lastName3 != "4") { throw new AssertionException(); } #endif #region 务端实现 //ICommonService DoCreateOutCommonService(string s1, int i1, ICommonService serice) //{ // var result = new CommonService(i1 + serice.Age, s1 + serice.Name); // var length = serice.NameLength; // // Names 除了原来的内容之外,再加上 0-4 的 5 个数组 // for (int i = 0; i < length; i++) // result.AddName(serice.GetName(i)); // for (int i = length; i < length + 5; i++) // result.AddName((i - length).ToString()); // return result; //} //ICommonService DoCreateRefCommonService(string s1, int i1, ICommonService serice) //{ // var result = new CommonService(i1 + serice.Age, s1 + serice.Name); // var length = serice.NameLength; // // Names 除了原来的内容之外,再加上 0-4 的 5 个数组 // for (int i = 0; i < length; i++) // result.AddName(serice.GetName(i)); // for (int i = length; i < length + 5; i++) // result.AddName((i - length).ToString()); // return result; //} //public void SendAndReturnByRef(string s1, int i1, ICommonService serice1, ref ICommonService serice2, out ICommonService serice3) //{ // serice2 = DoCreateRefCommonService(s1, i1, serice1); // serice3 = DoCreateOutCommonService("<" + serice1.Name + ">", i1 + serice1.Age, serice1); //} #endregion }