gpt4 book ai didi

c# - 是否有 ReSharper 和 Code Contracts 都可以使用的通用 PureAttribute?

转载 作者:太空狗 更新时间:2023-10-29 17:50:43 28 4
gpt4 key购买 nike

我正在使用 ReSharper 8.0 和适用于 .NET 4.0 的 VS2012 使用 C# 编写代码。

ReSharper 包含一个属性:JetBrains.Annotations.PureAttribute .这用于提供检查“未使用 Pure 方法的返回值”。

代码契约包含一个属性:System.Diagnostics.Contracts.PureAttribute .代码契约检查使用它来确保调用不会产生可见的状态更改,因此不需要重新检查对象的状态。

目前,要获得这两种工具的功能,方法需要用每个工具的属性进行注释。更糟糕的是,因为它们共享相同的类型名称,所以您需要限定每个属性。

[Pure]
[Jetbrains.Annotations.Pure]
public bool isFinished() {
...

要避免这种情况,应该有以下三种方法:

  1. 编写 ReSharper 和 Contracts 都认可的占位符
  2. 让 ReSharper 识别 Contracts 属性
  3. 获取 Contracts 以识别 ReSharper 属性

这些有可能吗?

最佳答案

ReSharper 已经理解 System.Diagnostics.Contracts.PureAttribute并以与 JetBrains.Annotations.PureAttribute 相同的方式对待它,因此您可以只使用 Code Contracts 中的那个,这两种工具都会很开心。

关于c# - 是否有 ReSharper 和 Code Contracts 都可以使用的通用 PureAttribute?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22130484/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com