質問

これが本質的にジェネリックである場合は申し訳ありませんが、.NETおよびSilverlightの基本的なルールのいくつかを理解していないことに関連する質問があります。

現時点では、次の基本的なプロジェクトがあります。

  1. ASP.NET汎用ハンドラーがXMLを書き出す

  2. Silverlight内で、WebClientオブジェクトを使用してXML出力を取得しています。実際、 Scott Guのチュートリアルを実行しています: Scott Guの優れたチュートリアル

LINQ TO XMLの例を使用して、本質的にXMLをクラスコレクションにロードしました。例:

XDocument saleslogdata = XDocument.Parse(e.Result);

var logrecords = from data in saleslogdata.Descendants("data")
                 where data.Element("logID") != null
                 select new SalesLog
                 {
                     logID = (int)data.Element("logID"),
                     name = (string)data.Element("name"),
                 };

grdSalesLog.ItemsSource = logrecords;

クラスは次のとおりです(基本的な例にすぎません):

public class SalesLog
{
    public int logID { get; set; }
    public string name { get; set; }
}

メインの質問はこれです...

「自動生成」できる方法はありますか上記の例のクラス構築部分。つまり、ソースXMLに別の10列を追加する必要がある場合は、明らかに、silverlightアプリに移動し、上記のコードを変更してクラスを展開して新しいフィールドを組み込み、もちろんLINQ to XMLクエリをマップする必要があります新しいXMLフィールドをクラスに追加します。

繰り返しますが、私はここで基本的な何かが欠けていると確信しています!

役に立ちましたか?

解決

記事 http://mironabramson.com/blog/post/2008/06/Create-you-own-new-Type-and-use-it-on-run- time-(C).aspx

実行時に型とインスタンスを作成する方法を説明します。

そして、C#4.0では動的型がより簡単になると思います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top