+-

我知道在c#4或4.5中可以创建匿名类型和动态类型,但是我不确定它是如何工作的.
我正在遍历一个共享点网站集,并且我想为每个子网站添加一个项目到列表中,该项目具有3列
我正在遍历一个共享点网站集,并且我想为每个子网站添加一个项目到列表中,该项目具有3列
但是我不想为此创建一个类,因为它仅特定于此方法.
private void RenderGrid()
{
string currentUrl = SPContext.Current.Site.Url;
List<object> listobject= new List<object>();
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite clientSiteCollection = new SPSite(currentUrl))
{
foreach (SPWeb web in clientSiteCollection.AllWebs)
{
string webtemplate = web.Properties["WebTemplate"];
if (webtemplate.Equals("xx"))
{
SPList xx = web.Lists.TryGetList(Constants.Lists.xx);
if (opportunityInfoList != null)
{
opportunityInfo.Add(new object() {
col1 = "value1",
col2 = "value2",
col3 = "value3"
});
}
}
}
}
});
lastCreatedOpportunitiesGrid.DataSource = opportunityInfo;
lastCreatedOpportunitiesGrid.DataBind();
}
最佳答案
您可以通过在新语句中不指定特定类型来创建匿名类型:
opportunityInfo.Add(new {
col1="value1",
col2="value2",
col3= "value3"});
这将起作用,但是由于您已将该列表显式声明为List< object> ;,因此您将无法使用诸如careerInfo [0] .col1之类的属性.如果您改为将其声明为List< dynamic> ;,您将可以访问匿名类的成员. (注意:我不确定数据绑定将如何与匿名类型一起使用,或者列表的类型是否会对行为产生任何影响.)
点击查看更多相关文章
转载注明原文:首页> C#>如何创建一个匿名对象列表 - 乐贴网