2012-02-02 2 views
1

今、私はXMLドキュメントを読んで、その主な要素を以下のメソッドに渡しています。このメソッドは、DataGridViewを更新するために使用されるIEnumerableの関連要素を返します。 DataGridViewのために匿名の型でXMLに書き込む?

private IEnumerable<object> readRelease(IEnumerable<XElement> release) 
{ 
    return (
     from r in release 
     select new 
     { 
      Release = r.Attribute("id").Value 
      //etc. 
     }); 
} 

、この方法ではうまく動作しますが、私はより広く、XMLファイルにこれらの要素を書いたりしたい場合はどのような、単に特定の変数(例えば、「リリース」)をアクセスしたいです。それでも私はこの方法を使用することはできますか?それとも別のものに行くべきですか?

+0

[C#匿名型オブジェクトへのアクセス]の複製(0120-) – nawfal

答えて

1

あなたは法の外に匿名型をアクセスするために、誰もがそれを使用することをお勧めしないだろうことができます汚いハックに関する別のSOの質問があります:

Accessing C# Anonymous Type Objects

あなたは法の外で特定の変数にアクセスする必要がある場合は、それおそらく匿名のものを使うのではなく、新しいタイプを定義する方が良い考えです。

2

Kaiは正しいですが、別のオプションは、オブジェクトの代わりにdynamicを使用することを指摘したいと思います。その後、プロパティにアクセスすることができ、これらは実行時に解決されます。しかし、あなたのシナリオで言及したように、新しいタイプを定義するほうがよいでしょう。

+0

何らかの理由で私はいつも動的なこのような状況。 –

関連する問題