使用泛型类型';System.Collections.Generic.List<;T>';需要1个类
本文关键字:lt gt 1个类 List 需要 Collections 泛型类型 System Generic | 更新日期: 2023-09-27 18:26:52
我有两个方法,它们是这里的代码http://www.rajbandi.net/fixing-ssrs-report-viewer-control-date-picker-in-google-chrome/#comment-988,然后我将以下代码应用到我的项目中,我遇到了一个问题。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using Microsoft.Reporting.WebForms;
using System.Configuration;
using System.Web.SessionState;
using RLISDev.Models;
using RLISDev.BaseObjects;
using System.Web.Mvc;
using RLISDev.Extensions;
using RLISDev.Annotations;
using System.Collections;
protected override void OnPreRender(EventArgs e) {
base.OnPreRender(e);
DatePicker1.Value = string.Join(",", (new > List(GetDateParameters()).ToArray()));
}
private IEnumerable GetDateParameters() {
// I'm assuming report view control id
// as reportViewer
foreach(ReportParameterInfo info in
ReportViewer1.ServerReport.GetParameters()) {
if (info.DataType ==
ParameterDataType.DateTime) {
yield
return string.Format("[{0}]",
info.Prompt);
}
}
}
我这里有错误
List(GetDateParameters()).ToArray())使用泛型类型"System.Collections.Generic.List"需要1个类型参数
我不确定我错过了什么。
您必须给它一个类型参数,因为它是一个泛型类:
var test = new List<DateTime>();
取决于GetDateParameters()
的返回类型;你想要这样的东西:
DatePicker1.Value = string.Join(",", (new List<DateTime>(GetDateParameters()).ToArray()));
注意:我修改了我的代码
protected override void OnPreRender(EventArgs e) {
base.OnPreRender(e);
DatePicker1.Value = string.Join(",", (GetDateParameters().ToList().ToArray()));
}
private IEnumerable < string > GetDateParameters() {
// I'm assuming report view control id as reportViewer
foreach(ReportParameterInfo info in ReportViewer1.ServerReport.GetParameters()) {
if (info.DataType == ParameterDataType.DateTime) {
yield return string.Format("[{0}]", info.Prompt);
}
}
}
这是有效的。