在集合中创建通用集合
问题描述:
我有两个类,并且想构建一个包含集合的集合。因此,我有..在集合中创建通用集合
public class GenericReportInfo
{
public string ReportName { get; set; }
public string ReportFileName { get; set; }
public Paramaters parameterList { get; set; }
}
public class Paramaters
{
public List<string> parameter { get; set; }
}
,并希望得到的地步,我可以简单地添加到收藏在线即
public class GenericReportsInfo
{
public List<GenericReportInfo> CreateAndInitialize()
{
List<GenericReportInfo> reportsList = new List<GenericReportInfo>();
GenericReportInfo info = new GenericReportInfo()
{ "Agent", "Agent", new paramter() {"StateId"} };
return reportsList;
}
}
只是想知道正确的方式来获得这个。
问候
马克
答
就快:
List<GenericReportInfo> reportsList = new List<GenericReportInfo>();
GenericReportInfo info = new GenericReportInfo()
{
ReportName = "Agent",
ReportFileName = "Agent",
parameterList = new Paramaters() { parameter = new List<string> { "StateId" } }
};
我想提出一些看法,但:
- 它应该是帕拉姆e ters,而不是param a ters。
- 我会大写P arameterList(与其他公共属性一样)。
- 除非您希望将来的Parameters类包含更多的字段,否则我不确定是否值得为此添加额外的类(仅用于封装
List<String>
)。
答
Heinzi的回答是正确的。但是为了完整性,您还可以创建一个构造函数,该构造函数接受标准字段以及参数类型的参数数组。如果你的课堂很小,它可以是一个更清晰的语法。
答
而不必字符串列表中你可以有参数,而不是一个列表...
public class GenericReportInfo
{
public string ReportName { get; set; }
public string ReportFileName { get; set; }
public IList<Parameter> Parameters { get; set; }
public GenericReportInfo(
string reportName,
string reportFileName,
IEnumerable<Parameter> parameters)
{
ReportName = reportName;
ReportFileName = reportFileName;
Parameters = new List<Parameter>(parameters);
}
}
public class Parameter
{
public string Name { get; set; }
}
然后初始化...
GenericReportInfo info = new GenericReportInfo()
{
ReportName = "Agent",
ReportFileName = "Agent",
Parameters = new List<Parameter>() { new Parameter(){ Name = "StateId" } }
};