linq非可调用成员 - 不能像方法一样使用

时间:2016-08-03 16:22:46

标签: c# linq

我想使用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()
    )
);

1 个答案:

答案 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>数据类型。