我有一個 class A 繼承了 List<B> ,然後加了幾個方法進去
class A : List<B>
{
public void func()
{
...
}
}
但繼承自 List<B> 的方法仍然是回傳 List<B> 的物件,例如:
List<B> List<B>.GetRange(int index, int count);
這會導致我無法像用下列方式使用物件:
A item = new A();
item.GetRange(a,b).func();
因為 item.GetRange(a,b) 回傳 List<B> ,若不經 cast 成 A 的話自然無法使用
定義在 class A 裡面的 func(),所以要寫成:
((A)item.GetRange(a,b)).func();
可是這樣又很醜,我也不想重新包裝 List<B> 中的每一個方法,
不知有什麼解決方法?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
推
04/06 18:12, , 1F
04/06 18:12, 1F
→
04/07 09:31, , 2F
04/07 09:31, 2F
推
04/07 10:34, , 3F
04/07 10:34, 3F
推
04/07 20:07, , 4F
04/07 20:07, 4F
推
04/08 08:07, , 5F
04/08 08:07, 5F
→
04/09 19:45, , 6F
04/09 19:45, 6F
→
04/09 19:45, , 7F
04/09 19:45, 7F
→
04/09 19:46, , 8F
04/09 19:46, 8F