有没有办法使用 resharper 属性指定 post 条件?
Is there a way to specify a post condition using resharper attributes?
假设我们有一个方法
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;
}
我个人更喜欢第二个,因为它很流畅,你可以继续你的代码:)
假设我们有一个方法
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;
}
我个人更喜欢第二个,因为它很流畅,你可以继续你的代码:)