是否有一种方法可以使用resharper属性指定post条件?
本文关键字:属性 resharper post 条件 可以使 方法 一种 是否 | 更新日期: 2023-09-27 18:15:13
假设我们有一个方法
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;
}
我个人更喜欢第二个,因为它很流畅,你可以继续你的代码:)