我想使用clientXml作为我的主窗体类的公共属性,以便我可以在我的窗体中的其他事件中使用它,但我得到错误“linq非可调用成员 - 不能像方法一样使用”。< / p>
所以在顶部它被定义为:
public List<data> clientList = new List<data>();
...
var clientXml = XDocument.Load(@"ClientData.xml");
clientList(
from d in clientXml.Descendants("Client")
select new RegexData(
d.Element("Bla1").Value.ToString(),
d.Element("Bla2").Value.ToString(),
d.Element("Bla3").Value.ToString(),
d.Element("Bla4").Value.ToString(),
d.Element("Bla5").Value.ToString(),
d.Element("Bla6").Value.ToString(),
d.Element("Bla7").Value.ToString(),
d.Element("Bla8").Value.ToString(),
bool.Parse(d.Element("Bla9").Value.ToString()),
d.Element("Bla10").Value.ToString()
)
);
答案 0 :(得分:2)
这个消息在&#34;非可调用成员&#34;周围有些神秘。部分。 C#试图告诉您,不允许使用clientList
,表示List<data>
的字段,就好像它是方法一样。
你应该写一个作业:
clientList = (
from d in clientXml.Descendants("Client")
select new RegexData(
d.Element("Bla1").Value.ToString(),
d.Element("Bla2").Value.ToString(),
d.Element("Bla3").Value.ToString(),
d.Element("Bla4").Value.ToString(),
d.Element("Bla5").Value.ToString(),
d.Element("Bla6").Value.ToString(),
d.Element("Bla7").Value.ToString(),
d.Element("Bla8").Value.ToString(),
bool.Parse(d.Element("Bla9").Value.ToString()),
d.Element("Bla10").Value.ToString()
).ToList();
并确保clientList
具有List<RegexData>
数据类型。