我對WCF服務工作中的對象定義如下繼承: -WCF從列表<T>
public class Test1
{
public string s {get;set;}
public string a {get;set;}
}
public class Test2
{
public string u {get;set;}
public string v {get;set;}
}
public class ABC : List<Test1>
public class DEF: List<Test2>
public class Test
{
public ABC x {get;set;}
public DEF y {get;set;}
}
提出例外是(假設結果是ABC類的一個實例)的代碼: -
return result.OrderBy(i=>i.s).ThenBy(j=>j.a);
上面的代碼在運行時給我一個InvalidCastException。我假設發生這種情況是因爲OrderBy返回了一個IOrderedEnumerable,所以無法投射它。我嘗試了以上代碼的各種變化: -
return (ABC)result.OrderBy(i=>i.s).ThenBy(j=>j.a);
return (ABC)result.OrderBy(i=>i.s).ThenBy(j=>j.a).ToList();
沒有工作。現在
public class Test
{
public List<T> x {get;set;}
public List<T> y {get;set;}
}
所以,一切工作正常 - : 所以,我改變了測試類以下。我在某處讀到我們不應該在公共API中使用List。但是,這也適用於WCF嗎?而且,這種方法是正確的還是應該嘗試從Collection<T>
繼承ABC和DEF類?
謝謝。我會研究這一點 – Max