如何使用CQLinq获取单个查询中的方法和字段的度量标准

时间:2016-05-07 02:35:23

标签: ndepend cqlinq

我在NDepend中用CQLinq计算标识符的平均长度,我想得到类,字段和方法名称的长度。我浏览了CQlinq的这个页面:http://www.ndepend.com/docs/cqlinq-syntax,我的代码如下:

var grid = new THREE.GridHelper( 10, 2 );

grid.geometry.rotateX( Math.PI / 2 );

var vector = new THREE.Vector3( 1, 1, 1 );
grid.lookAt( vector );

scene.add( grid );

它不起作用,一个错误说:

  

'System.Collections.Generic.IEnumerable'没有   包含'Union'的定义......

另一个是:

  

无法转换   'System.Collections.Generic.IEnumerable'到   'System.Collections.Generic.HashSet'

但是,根据MSDN,IEnumerable接口定义了Union()和Concat()方法。

在我看来,我不能像Linq一样使用CQLinq。无论如何,有没有办法在单一查询中从类型,方法和字段域获取信息?

非常感谢。

1 个答案:

答案 0 :(得分:0)

  

有没有办法从单个查询中的类型,方法和字段域中获取信息?

目前不是,因为CQLinq查询只能匹配一系列类型,一系列方法或一系列字段,所以您需要3个不同的代码查询。

对于下一个版本的CQLinq,将会有很大的改进,而且你确实可以编写如下内容:

from codeElement in Application.TypesAndMembers 
select new { codeElement, codeElement.Name.Length }

下一版将于2016年年底前上市。