在此代碼片段爲什麼不使用ASP.NET GridView.Rows屬性輸入推理(var)?
foreach (var row in grid.Rows) { }
行的類型被推斷爲對象,而不是GridViewRow。我必須明確宣佈與GridViewRow工作類型:「返回包含在GridViewRowCollection所有GridViewRow對象枚舉」
foreach (GridViewRow row in grid.Rows) { }
GridView.Rows返回GridViewRowCollection和GetEnumerator的關於收集如果我通過索引從集合中訪問單行
var row = grid.Rows[0];
該類型被正確推斷。爲什麼編譯器不能在foreach聲明中推斷行的類型?
編輯補充:有趣的回答,我沒有想到尋找明顯的問題。 ListView.Items實現IList<ListViewDataItem>
,所以這看起來像對我來說是一個疏忽。
也許如果他們沒有趕上所有這些版本,他們將有時間來實際實現所有這些缺失的接口: – leppie 2009-07-08 13:45:04