我好興奮,在寫這篇泛型函數時,編譯器拋出一個錯誤(unable to cast T to System.Web.UI.Control
)我的第一個通用鑄造(C#)
我基本上把它傳遞一個類型時,我把它,它找的所有控件那種類型。錯誤發生在l.Add((T)ctrl);
private List<T> RecurseTypes<T>(Control ctrls)
{
var l = new List<T>();
foreach (var ctrl in ctrls.Controls)
if (ctrl.GetType() is T)
l.Add((T)ctrl);
return l;
}
我錯過了什麼,或者我只是運氣不好?
凡爲T從哪裏來的存儲控制。讓我看看類聲明。 – 2011-01-24 13:39:03
@Jannis:它不是來自一個類,這是一個通用*方法*:`RecurseTypes`。 –
Ani
2011-01-24 13:39:59
什麼行會引發異常? – Nickolodeon 2011-01-24 13:42:40