问题标签 [cqlinq]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ndepend - CQLINQ 获取将类型作为参数的方法列表?
什么是 CQLINQ 以获取至少将(兼容)类型或接口作为其参数之一的所有方法的列表?
ndepend - CQLINQ 用于返回特定类型或接口的方法列表?
获取返回(兼容)特定类型或接口的方法列表的 CQLINQ 是什么?
ndepend - 优化嵌套可见性的 CQLinq 规则
我们有 NDepend 5.4.1,我们想要更改可能具有较低可见性的字段/类型/方法的查询。我们希望查询在决定是否将其视为违规时考虑封闭类的范围。
例如,
我们不希望 A、B 或 C 产生违规,说它们中的任何一个都应该是内部的。另一方面,如果类 X 是公共的,并且 A、B 和 C 都没有在程序集之外使用,那么它们都应该产生违规。
为此,我在查询中添加了以下行:
因此对于字段,新查询如下所示:
我以类似的方式更改了方法可见性和类型可见性的查询,除了类型我确保有一个封闭的父类型:
乍一看,在运行了一些测试之后,这似乎是在做正确的事情。我的问题是这是否会产生任何误报或错过任何违规行为,因为我不确定枚举可见性排序(比较)是否在所有情况下都会做正确的事情。
c# - NDepend:列出附加到方法的属性,这可能吗?
我正在尝试使用 NDepend 及其基于 Linq 的查询语言来生成一些关于代码当前状态的报告。我想用预定义的“标签”标记我的一些方法和类,例如用标签“数据库”标记的方法包含特定于数据库的代码,用标签“算法_X”标记的方法包含与算法“X”相关的特定逻辑。我们认为这样的标记过程将导致更直接的文档生成过程。
我想知道 NDepend 是否提供了一种机制来促进这样的过程。我正在考虑使用 C# 属性来生成这样的自定义标签,然后使用与“标记”它们相对应的适当属性来标记方法。我很清楚 CQLinq 的“.HasAttribute”方法并积极使用它。但是这个标记过程需要一种方法来列出或枚举附加到方法的所有属性,直到现在我才使用 NDepend 实现它。
我的问题是;有没有办法在 NDepend 中实现它(列出方法的所有属性)?如果没有,NDepend 中是否有另一种方法可以促进这样的标记过程?我可以通过编写自定义 C# 代码使用反射来实现这一点,但我想确保在这种状态下我没有 NDepend 的选项。
ndepend - ndepend - CQLinq 查找用作第 3 方泛型方法的类型参数的类型
我在搞乱 CQLinq 并试图编写一个查询来查找我的项目中用作第 3 方泛型方法的泛型类型参数的类型。
更具体地说,我们使用了一个名为 AutoMapper 的第三方库,它有一个静态泛型方法,Mapper.CreateMap<T1, T2>()
. 是否可以编写查询来查找我的代码中的哪些类型用作 CreateMap 方法的参数?
谢谢。
cassandra - 是否支持条件为不等式表达式的 Cassandra Update IF 语句?
Cassandra CQL 支持哪里UPDATE IF [condition]
[condition] 是不等式?
我查看了语言参考,似乎 CQL 不能通过其语法支持不等式。我使用了这里的语言参考:https ://cassandra.apache.org/doc/cql3/CQL.html#updateStmt
令人困惑的是,使用 C# 驱动程序或 CQLSH 查询成功执行,但是从 Datasax DevCenter 执行相同操作时出现错误。
我正在使用类似于以下查询的查询:
结果如下:
Datasax DevCenter 在尝试执行脚本片段时引发错误。我得到的错误是抱怨脚本的 UPDATE IF 部分中的不等式。
当前脚本中存在一个语法错误(请参阅下面的详细信息)。请修复并重试。第 29 行:输入 '<' 没有可行的替代方案
如果我将 CLINQ 与 Datasax C# 驱动程序一起使用,则会按上述方式生成查询,并且在执行时,如果新的 edit_date 在现有的 edit_date 之后(这是预期的行为),则更新将保持不变。
使用 CQLSH 查询成功运行并保持更新
c# - 使用 CQLinq 创建类型时查询
假设我有以下代码:
是否可以使用 CQLinq 创建一个查询,该查询返回类继承自MyBase
并在某处创建的所有位置(或类型) new
?
查询应该返回MyService1
,MyService2
甚至更好MyService2.Foo()
到目前为止我所拥有的:
.net - CQLinq 代码可以在多个查询中重复使用吗?
假设我正在分析一个包含很多控件的解决方案,例如
我想编写两个 CQLinq 查询来报告所有具有恶意代码的类(例如 EvilMethod1)以及在两个单独的查询中使用真正的恶意代码(例如 EvilMethod2)的类。
为了找到该查询应该分析的所有类型,我将编写如下代码
这段代码显然会被两个查询使用。有没有办法在两个查询中引用此代码,还是我被迫复制它?
ndepend - 如何使用 CQLinq 在单个查询中获取方法和字段的指标
我在 NDepend 中使用 CQLinq 计算标识符的平均长度,我想获得类、字段和方法名称的长度。我浏览了 CQlinq 的这个页面:http ://www.ndepend.com/docs/cqlinq-syntax ,我的代码如下:
它不起作用,一个错误说:
“System.Collections.Generic.IEnumerable”不包含“Union”的定义...
另一个是:
无法从“System.Collections.Generic.IEnumerable”转换为“System.Collections.Generic.HashSet”
但是,根据MSDN, IEnumerable 接口定义了 Union() 和 Concat() 方法。
在我看来,我不能以与 Linq 完全相同的方式使用 CQLinq。无论如何,有没有办法在单个查询中从类型、方法和字段域中获取信息?
非常感谢。
c# - NDepend 寻找更快的收集机会
我有一个庞大的遗留代码库,我想优化它,让它更快。出于这个原因,我考虑寻找可以用 HashSet 和字典替换列表和数组的机会。
.NET Framework Usage / System.collection 下有以下 NDepend 查询
这个查询是不够的。它将列出一个带有以下代码的函数:
一个更好的查询是这个:
这将列出 4 个函数(List、IList、int[]、IEnumerable)。我是关于 CQLinq 的新手。我的问题是:
- 有没有人可以编写更好的查询来检测可能的不良 .NET 容器使用情况(不仅用于包含,还用于其他可能的操作)?
- 您如何或将如何检测不良容器使用情况?
最后一点,我们的一些业务逻辑处理大量数据,因此拥有正确的容器、数据结构和算法很重要。