Examples of errors detected by the V3062 diagnostic


V3062. An object is used as an argument to its own method. Consider checking the first actual argument of the 'Foo' method


Accord.Net

V3062 An object 'observations' is used as an argument to its own method. Consider checking the first actual argument of the 'WeightedMean' method. Accord.Statistics InverseGaussianDistribution.cs 325


public static double WeightedMean(this double[] values,
                                       double[] weights)
{
  ....
}

public override void Fit(double[] observations,
                         double[] weights,
                         IFittingOptions options)
{
  ....
  mean = observations.WeightedMean(observations);
  ....
}

AWS SDK for .NET

V3062 An object 'attributeName' is used as an argument to its own method. Consider checking the first actual argument of the 'Contains' method. AWSSDK.MobileAnalytics.Net45 CustomEvent.cs 261


public string GetAttribute(string attributeName)
{
  if(string.IsNullOrEmpty(attributeName))
  {
    throw new ArgumentNullException("attributeName");
  }
  string ret = null;
  lock(_lock)
  {
    if(attributeName.Contains(attributeName))  // <=
      ret = _attributes[attributeName];
  }
  return ret;
}


Bugs Found

Checked Projects
354
Collected Errors
13 290