実行時ObservableCollection
に4つの列が入力されています。
public ObservableCollection<object> SelectedRows;
このコレクションからId列の値を取得したいのですが、コンパイル時にId列がコレクションに存在することがわからないため、LINQを使用してこれを取得できません。
実行時ObservableCollection
に4つの列が入力されています。
public ObservableCollection<object> SelectedRows;
このコレクションからId列の値を取得したいのですが、コンパイル時にId列がコレクションに存在することがわからないため、LINQを使用してこれを取得できません。
多分このようなもの:
vat w = from s in db.table
select s.id;
foreach (var i in w)
{
console.writeln(i);
}
これは、データ バインディングを使用して行うことができます。
<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)