2016-08-03 3 views
1

メインフォームクラスのパブリックプロパティとしてclientXmlを使用して、フォーム内の他のイベントでも使用できますが、呼び出し可能なメンバ - メソッドのように使用することはできません "。それは次のように定義されて上部にそうlinq非呼び出し可能なメンバ - メソッドのように使用することはできません

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

これは無効なC#です。あなたは 'clientList = new List (from ...)'または 'clientList.AddRange(from ...)'または 'clientList =(from ...)。ToList();'を意味すると思います。あなたのコードが今見ているように、あなたはメソッド 'clientList()'として_member_ 'clientList'を使用しようとしています。これは意味をなさないし、コンパイルすることができません –

答えて

2

メッセージは "非呼び出し可能部材" の部分を中心にやや不可解です。 C#はclientListList<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(); 

をしてclientListList<RegexData>データ型を持っていることを確認してください。

+0

すばらしい応答のためにすごく感謝します。私はなぜそれについて考えなかったのか分かりません。 Kinda Cより新しいと本当にあなたの助けに感謝! – RyGuy

関連する問題