0

次のコード行をデバッグしようとしています

binding.DataSource = this.bindingSource.DataSource;

binding.DataSource に関する詳細情報を知りたい

イミディエイト ウィンドウでクエリ ? binding.DataSource が返す

Count = 1
[0]: {Contact Events}

binding.DataSource をインテリセンスでクエリできるものにキャストしたいですか? 何にキャストすればよいですか?

[更新] バインディング ソースは次のように作成されました。

public BindingSource GetEventTypesBindingSource()
    {
        try
        {
          DbSet<ContactEventType> dset = base.Context.ContactEventTypes;
          IOrderedQueryable<ContactEventType> qry = dset.Where(p => p.Id > 0).OrderBy(x => x.Description);
            qry.Load();
            var bindingSource = new BindingSource();
            bindingSource.DataSource = dset.Local.ToBindingList();
            return bindingSource;
        }
        catch (Exception ex)
        {
            HandleException.Show(ex);
        }
        return null;
    }

【更新】デバッガで以下を試してみました

? (List<ContactEvent>) binding.DataSource.GetType() 

しかし得る

The type or namespace name 'List' is not valid in this scope
4

2 に答える 2

1

おそらくList<ContactEvent>ですが、デバッガーやリフレクションを使用して見つけることができます。

デバッガーの [ウォッチ] ウィンドウで変数を表示すると、データの型が表示されます。データソースで GetType を呼び出すと、オブジェクトの型が返されます (これはデバッガーでも実行でき、そこで結果の型を調べることができます)。

于 2013-07-29T00:56:20.767 に答える
1

最初は回答とは関係ありませんが、この場合はデータソースを使用する必要はありません (datamember プロパティを使用しません)。コレクションに直接バインドするだけです。コレクションのタイプは、エンティティ フレームワーク アセンブリからのカスタム バインディング リスト実装である可能性があります。公開されていないため名前が表示されない場合がありますが、IEnumerable へのキャストは機能するはずです。カスタム実装が BindingList から派生することを正しく覚えていれば、BindingList も問題ありません。

于 2013-07-29T09:28:51.647 に答える