ListBoxコントロールを使用すると、データソースをフィードし、DisplayMemberとValueMemberに名前を付けることができます。魔法を使って、データソースのフィールドを表示し、選択したValueMemberを返します。フィード対象のテーブルについて具体的なことを何も知らなくても、linq-to-sqlの結果で機能します。
リフレクションと属性は魔法をかけていませんか?どのように機能しますか?同様のことをする必要がありますが、どこから始めればよいのかわかりません。私はLINQtoSQLの初心者です。
これが私がやりたいことです。フィルタリングしたいソーステーブルがあります。ソーステーブルは何でもかまいませんが、一部のDataContextから発信されます。
var MySourceTable =
    from MyRecord in Context.GetTable<MySourceTable>()
    select new
    {
        Value = MyRecord.ID,
        Display = MyRecord.Name,
        FilterValue = MyRecord.Value
    };
私のコントロールでは、特定の値でMySourceTableをフィルタリングできるようにしたいと考えています。コントロールは、使用されているテーブル(上記の例ではMySourceTable)を認識せず、使用するレコードのフィールドの3つの名前、ID、Name、およびValueのみを認識します。
フィルタクエリは、次の例のようになります。
var MyTable
    from Record in MySourceTable
    where FilterValue == GivenValue
    select new
    {
        Value = Record.ID,
        Display = Record.Name,
    };
誰かがどこから始めればいいのか教えてもらえますか?