- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在经历将我的 .Net 4.8(不是 Core!)项目转换为使用新的 C# 8“可空引用”功能的过程。
为此,我通过添加 #nullable enable
依次更改每个源代码文件。并用 ?
修饰所有可为空的引用后缀。这使我能够零碎地转换我的所有代码以使用新功能。
现在考虑源文件中的以下方法 #nullable enable
指定:
#nullable enable
[CanBeNull] public static string Test([CanBeNull] string arg)
{
return arg;
}
如果我输入“?”在 string
中的任何一个之后声明(为了使用新的 C# 8“可空”特性),Resharper 删除了 [CanBeNull]
属性:
public static string? Test(string? arg)
{
return arg;
}
但是,如果该属性被删除,则 Resharper 不会警告我其他源文件中可能使用空引用。 (如果所有源文件都指定了#nullable enable
,这将不是问题,但是因为我正在以零散的方式转换文件,所以有许多文件还没有指定#nullable enable
,因此编译器不会警告我可能使用空引用 - Resharper 也不会,因为 [CanBeNull]
已被删除。)
所以我的问题是:
有没有办法阻止 Resharper 删除 [CanBeNull]
当我输入 ?
时的属性在引用类型名称的末尾?
我已经搜索了所有的 Resharper 选项,但我还没有为此找到一个。
最佳答案
我在 Resharper 支持论坛上提出了这个问题,并得到了解决方案:
修复它:
关于c# - 在引用类型名称末尾键入 "?"时,如何阻止 Resharper 删除 [CanBeNull]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58971090/
我最近发现您可以使用 [CanBeNull] C# 中的注解告诉 ReSharper(和其他插件)一个方法可以返回 null。这很棒,因为当我不处理这些情况时,它会让 ReSharper 提醒我。 但
我想让程序员和我自己知道,一个方法不需要null,如果您无论如何都向它发送null,结果将不会很好。 Lokad Shared Libraries 中有一个NotNullAttribute 和一个Ca
我正在经历将我的 .Net 4.8(不是 Core!)项目转换为使用新的 C# 8“可空引用”功能的过程。 为此,我通过添加 #nullable enable 依次更改每个源代码文件。并用 ? 修饰所
在我们的代码中,我们有自己的注入(inject)框架来启用依赖注入(inject),例如: public class MyClass { [Component("ComponentName1"
ReSharper 有一套代码注释,可用于显式表达 IDE 可以使用的代码意图。两个最有用的注释是 [CanBeNull] 和 [NotNull] 属性,它们可以用在构造函数、属性和方法上,如下所示:
考虑以下 C#.Net 代码: using System.Xml; internal class MyXmlReaderClass : XmlReader { private readonly
我是一名优秀的程序员,十分优秀!