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

The analyzer detected a method call of the following pattern:


This suspicious code is very likely to contain an error – for example a typo that results in using a wrong variable name. The fixed version of this code should look like this:


or this:


And here's an example from a real application:

private bool CanRenameAttributePrefix(....)
  var nameWithoutAttribute = 
  var triggerText = GetSpanText(document, 

  // nameWithoutAttribute, triggerText - String
  return triggerText.StartsWith(triggerText); 

The return value in this code will always be the value 'true' because the method that checks whether a string starts with a substring receives, as its argument, the string itself ('triggerText'). The programmer must have meant the following check instead:

return triggerText.StartsWith(nameWithoutAttribute);

You can look at examples of errors detected by the V3062 diagnostic.

Bugs Found

Checked Projects
Collected Errors
14 072
This website uses cookies and other technology to provide you a more personalized experience. By continuing the view of our web-pages you accept the terms of using these files. If you don't want your personal data to be processed, please, leave this site. Learn More →