이 코드 조각에서왜 inference (var) 형식의 ASP.NET GridView.Rows 속성을 사용할 수 없습니까?
foreach (var row in grid.Rows) { }
행 유형은 GridViewRow 대신 Object로 유추됩니다. 내가 명시 적으로 GridViewRow 함께 작동하도록 형식을 선언해야합니다.
foreach (GridViewRow row in grid.Rows) { }
GridView.Rows "GridViewRowCollection있는 모든 GridViewRow 개체를 포함하는 열거 자 반환합니다."컬렉션의 GridViewRowCollection 및 GetEnumerator를 반환합니다. 인덱스
var row = grid.Rows[0];
로 컬렉션에서 단일 행에 액세스하면 형식이 올바르게 유추됩니다. 컴파일러가 foreach 선언에서 행의 유형을 추론 할 수없는 이유는 무엇입니까?
추가 편집 : 재미있는 응답, 나는 명백한 문제를 찾지 않을 것이라고 생각했습니다. ListView.Items는 IList<ListViewDataItem>
를 구현하므로이 기능이 나를 감시하는 것처럼 보입니다.
만약 그들이이 모든 버전을 돌진하지 못했다면 실제로 누락 된 모든 인터페이스를 구현할 시간이있었습니다. – leppie