IEnumerable нельзя использовать с аргументами типа
Я хотел бы использовать список данных для отображения имен пользователей, их комментариев и вложений для каждого комментария под именем пользователя.
У меня есть пользовательский элемент управления ReviewList
для отображения комментариев и efiles
в этом. Но у меня есть ошибка в этой строке (s.tblDraft.Comments) и ошибка ниже:
The non-generic type 'System.Collections.IEnumerable' cannot be used with type arguments
Пожалуйста, помогите. В чем проблема?
private void Displayuser()
{
var reviews =
(from s in _DataContext.tblSends
from u in _DataContext.Users
where (s.DraftId == _Draftid) && (s.ToEmailId == u.ID)
orderby u.Name
select new
{
userid = u.ID,
username = u.Name,
comments =s.tblDraft.Comments,
w = s.tblDraft.Comments.SelectMany(q => q.CommentAttaches)
}).Distinct();
DataList1.DataSource = reviews;
DataList1.DataBind();
var theReview = reviews.Single();
DisplayReviews(theReview.comments, theReview.w);
}
private void DisplayReviews(IEnumerable<Comment> comments,
IEnumerable<CommentAttach> w)
{
ReviewList reviewList = (ReviewList)DataList1.FindControl("ReviewList1");
reviewList.Comments = comments;
reviewList.CommentAttachs = w;
reviewList.DataBind();
}
Ответы
Ответ 1
Тип, который видит компилятор, System.Collections.IEnumerable
, который является не общим IEnumerable. Вы импортировали это пространство имен, поэтому это тип, который, по мнению компилятора, вы пытаетесь использовать.
Тип, который вы пытаетесь использовать, System.Collections.Generic.IEnumerable<T>
. Добавьте импорт этого пространства имен и вещи должны компилироваться.