我有以下 lambda
var entities = JTransformer.Queryer.GetList()
.Where(x => { var y = JStubs.GetType(x.Name);
return (y.Impliments(baseType) && y.IsGenericType); });
我在我创建的 JStub.GetType 函数中设置了一个断点,但是每次我尝试运行该语句时它都无法命中它。
JTransformer.Queryer.GetList()
正在返回一个 Enumerable,我已经检查以确保它具有值
- Results View Expanding the Results View will enumerate the IEnumerable
+ [0] {JsonMap.Default.Types.JEntity} JsonMap.Interfaces.IEntity {JsonMap.Default.Types.JEntity}
+ [1] {JsonMap.Default.Types.JEntity} JsonMap.Interfaces.IEntity {JsonMap.Default.Types.JEntity}
+ [2] {JsonMap.Default.Types.JEntity} JsonMap.Interfaces.IEntity {JsonMap.Default.Types.JEntity}
+ [3] {JsonMap.Default.Types.JEntity} JsonMap.Interfaces.IEntity {JsonMap.Default.Types.JEntity}
+ [4] {JsonMap.Default.Types.JEntity} JsonMap.Interfaces.IEntity {JsonMap.Default.Types.JEntity}
+ [5] {JsonMap.Default.Types.JEntity} JsonMap.Interfaces.IEntity {JsonMap.Default.Types.JEntity}
+ [6] {JsonMap.Default.Types.JEntity} JsonMap.Interfaces.IEntity {JsonMap.Default.Types.JEntity}
+ [7] {JsonMap.Default.Types.JEntity} JsonMap.Interfaces.IEntity {JsonMap.Default.Types.JEntity}
那么为什么我的 lambda 永远不会运行呢?
编辑:
我应该澄清一下。我后来for-each
在实体上做一个,它没有什么可以迭代的。
foreach (var entity in entities)
{
(some code never get's hit)
}
但是当我执行以下操作时
var entities = JTransformer.Queryer.GetList().ToList()
.Where(x => { var y = JStubs.GetType(x.Name);
return (y.Impliments(baseType) && y.IsGenericType); });
突然之间,实体中包含值,并且for-each
get 中的代码被命中