1

実行時ObservableCollectionに4つの列が入力されています。

public ObservableCollection<object> SelectedRows;

このコレクションからId列の値を取得したいのですが、コンパイル時にId列がコレクションに存在することがわからないため、LINQを使用してこれを取得できません。

4

3 に答える 3

0

多分このようなもの:

vat w = from s in db.table
        select s.id;

foreach (var i in w)
{ 
    console.writeln(i);
}
于 2013-03-07T08:39:38.647 に答える
0

これは、データ バインディングを使用して行うことができます。

<ListBox ItemsSource="{Binding SelectedRows}"
         DisplayMemberPath="The property to be displayed"
         SelectValuePath="The property that SelectedValue would bind to"
         SelectedValue="{Binding SelectedRowId}" />

C# でこれを行う必要がある場合は、キャストできる共通のインターフェイスをオブジェクトに実装することを強くお勧めします。それ以外の場合は、次のdynamicキーワードを使用できます。

SelectedRows.Cast<dynamic>().Select(d => (int)d.Id)
于 2013-03-12T08:06:39.557 に答える