获取对象属性
本文关键字:属性 取对象 获取 | 更新日期: 2023-09-27 18:16:14
我有一个代码返回我的小部件的对象
XDocument loaded = XDocument.Parse( xml );
var widgets = from x in loaded.Descendants( "widget" )
select new
{
URL = x.Descendants( "url" ).First().Value,
Category = x.Descendants( "PortalCategoryId" ).First().Value
};
我试图创建一个方法,将返回对象小部件,然后我需要另一个方法,我可以调用它并访问值。我是c#新手,使用vs2010
谢谢
匿名类型不容易在方法之间共享。
你应该创建一个类来存储这些数据
代替
XDocument loaded = XDocument.Parse( xml );
var widgets = from x in loaded.Descendants("widget")
select new // Dynamic/Anonymous class
{
URL = x.Descendants( "url" ).First().Value,
Category = x.Descendants( "PortalCategoryId" ).First().Value
};
最好创建一个具体类
//Widget.cs
Public class Widget
{
public string URL { get; set; }
public string Category { get; set; }
}
//Code somewhere else..
XDocument loaded = XDocument.Parse(xml);
IEnumerable<Widget> widgets =
from x in loaded.Descendants("widget")
select new Widget()
{
URL = x.Descendants( "url" ).First().Value,
Category = x.Descendants( "PortalCategoryId" ).First().Value
};
将var widgets更改为动态widgets
例子using System;
using System.Linq;
class Sample {
static object junk(){
var widgets = new { URL = new Uri("http://test.com/"), Category = "address" };
return widgets;
}
static void Main(){
dynamic widgets = junk();//var widgets = .. //NG
Console.WriteLine(widgets.URL);
}
}