gpt4 book ai didi

c# - .net 3.5 匿名 foreach

转载 作者:太空宇宙 更新时间:2023-11-03 18:49:10 25 4
gpt4 key购买 nike

我正在尝试循环返回匿名结果对象的函数的结果。

public static object getLogoNav()
{
XDocument loaded = XDocument.Load(HttpContext.Current.Request.MapPath("~/App_Data/LOGO_NAV_LINKS.xml"));

var query = from x in loaded.Elements().Elements()
select new
{
Name = x.FirstAttribute.Value,
Value = x.Value
};

return query;
}

代码隐藏页面:

  var results = Common.getLogoNav();
foreach(var nav in results) {
string test = nav.Name;
}

最佳答案

在 C# 3(和 4)中不能将匿名类作为返回类型,也不能将对象强制转换为匿名类型。您的三个选项是:

  • 在匿名类的范围内进行循环(大多数时候,这是方法)
  • 转换到对象并使用反射(缓慢且不太容易做到,除非你使用一些表达式树魔术)
  • 转换为命名类并返回它的实例。
  • (在 C# 4 中)您可以创建一些动态类型魔术来实现类似的效果,但这实际上与带有一些语法糖的选项 2 相同。

关于c# - .net 3.5 匿名 foreach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1640937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com