gpt4 book ai didi

c# - 有没有办法使用 resharper 属性指定后置条件?

转载 作者:行者123 更新时间:2023-11-30 15:20:23 25 4
gpt4 key购买 nike

假设我们有一个方法

internal static void NotNull<T>(T value)
where T : class
{
if (value == null)
{
throw new ArgumentNullException();
}
}

有没有办法告诉 Resharper 的静态分析传递给这个方法的值之后永远不会为空?

最佳答案

有两种方法可以实现:

[JetBrains.Annotations.ContractAnnotation("halt <= null")]
public void NotNull(object obj)
{
// ...
}

和类似的扩展方法

[JetBrains.Annotations.NotNull]
public static T NotNull<T>(this T obj)
{
// ...
return obj;
}

我个人更喜欢第二个,因为它很流畅,你可以继续你的代码:)

关于c# - 有没有办法使用 resharper 属性指定后置条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40273549/

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