假设我有这样的类
public class Product
{
public string Name {get; set;}
public string Category {get; set;}
public int ID {get; set;}
}
我也有这样的课程
[DataObject]
public class Products
{
[DataObjectMethod(DataObjectMethodType.Select)]
public IEnumerable<Product> GetProducts()
{
return new List<Product>
{
new Product() {Name = "Product1", Category="category1", ID=1 },
new Product() {Name = "Product2", Category="category2", ID=2 },
new Product() {Name = "Product3", Category="category3", ID=3 },
new Product() {Name = "Product4", Category="category4", ID=4 },
};
}
}
如果我有10个产品类实例,我将如何将这些实例中包含的信息添加到我的列表中?
示例:
[DataObjectMethod(DataObjectMethodType.Select)]
public IEnumerable<Product> GetProducts()
{
return new List<Product>
{
new Product() {Name = "Instance1_Name", Category="Instance1_Category", ID=Instance1_ID },
new Product() {Name = "Instance2_Name", Category="Instance2_Category", ID=Instance2_ID },
new Product() {Name = "Instance3_Name", Category="Instance3_Category", ID=Instance3_ID },
new Product() {Name = "Instance4_Name", Category="Instance4_Category", ID=Instance4_ID },
};
}
这是针对我试图从Telerik使用的报告解决方案,该报告使用对象数据源在报告上生成内容。
多亏了这篇文章的人的帮助,我才能得出解决方案:c#如何保留类实例之间的数据?
这是最终代码示例的样子:
public class Product
{
public string Name {get; set;}
public string Category {get; set;}
public int ID {get; set;}
public static List<Product> ProductList =
new List<Product>();
[DataObjectMethod(DataObjectMethodType.Select)]
public IEnumerable<Product> GenerateReport()
{
return ProductList;
}
}
关键是将我的两个以前不同的类结合在一起,并使列表成为保留数据的静态成员。