1 [Serializable] 2 public class Employee : IComparable<Employee> 3 { 4 public string Name; 5 6 public int Age; 7 8 #region IComparable<Employee> Members 9 10 public int CompareTo(Employee other) 11 { 12 return this.Name.CompareTo(other.Name); 13 } 14 15 #endregion 16 } 17 18 [Serializable] 19 public class Company 20 { 21 public string Name; 22 23 public Employee[] Employees; 24 } 接著我們定義一個Web Services方法Sort,該方法的作用是拿到公司姓名和一個Employee數組作為參數,將Employee按照姓名排序之后,再組成一個Company對象輸出。代碼如下:
Sort方法
1 [WebService(Namespace = "http://tempuri.org/")] 2 [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 3 public class ComplexTypeWS : System.Web.Services.WebService { 4 5 [WebMethod] 6 public Company Sort(string companyName, Employee[] employees) 7 { 8 Array.Sort<Employee>(employees); 9 10 Company company = new Company(); 11 company.Name = companyName; 12 company.Employees = employees; 13 return company; 14 } 15 } 然后就是Html了。在頁面最上方(id為employees的div)會顯示內存中目前所有的Employee,之后是向內存中添加Employee的輸入框,接著是填寫公司名的文本框和排序按鈕,最后則是經過了Web Services排序后的結果顯示區域(id為sortedDisplay的div):