为什么这个Linq查询不在Dictionary< TKey,TValue>作为DataSource工作
我在VB中有以下内容:
Dim sources = From source In importSources Select New With _
{.Type = source.Key, .Source = source.Value.Name}
dgridSourceFiles.DataSource = sources
当我调试时,sources
显示内存中查询并且其中有2条记录。然而,datagrid视图不会显示记录。
那么为什么这不起作用呢?建议可以是VB或C#......
更新
我用的时候:
Dim sources = (From source In importSources Select New With _
{.Type = source.Key, .Source = source.Value.Name}).ToList()
...显示数据源。
没有找到相关结果
已邀请:
2 个回复
荒劫娇噬
接口(据我所知),这意味着它的结果直到枚举器在某处调用
时才会建立(例如,在
循环中发生)。 似乎
属性不会以这种方式枚举其内容。它完全期望实现
(或其他几个接口之一 - 见下文),以便它可以按索引访问项目。这由控件在内部用于排序,过滤等。考虑到这一点,所有设置
属性的方法都是检查对象的类型以查看它是否实现了任何支持的接口。所以我认为
属性不是为了处理这种类型的对象(一个懒惰的评估查询)而设计的。 现在,那个
调用用查询结果填充
;这确实实现了
,因此可以用作
。 我的理解是,
仅仅被命名为
的原因是它需要以下任何接口:
(在这种情况下,
方法与
属性一起使用,为控制提供数据)
(将列表中的更改传播到UI更新的控件)
(喜欢
) 这是根据MSDN文档。
铰齐插