我喜欢使用数据列表来显示用户名和注释以及用户名下面每个注释的附加内容。
我有一个用户控件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();
}
答案 0 :(得分:45)
编译器看到的类型是System.Collections.IEnumerable
,它是非通用的IEnumerable。您导入了该命名空间,因此这是编译器认为您尝试使用的类型。
您尝试使用的类型是System.Collections.Generic.IEnumerable<T>
。添加该命名空间的导入,应该编译。
答案 1 :(得分:0)
您需要添加命名空间的导入:
using System.Collections.Generic;