Rider Help

Code Inspection: Collection's content is never queried (private accessibility)

Rider analyzes access to collections created in your code and warns you if a collection is updated but its contents are never used. For example:

public class CollectionUsage { private readonly List<string> _matchedStrings = new List<string>(); public void CheckIfStringMatches(string str) { //if str matches some condition _matchedStrings.Add(str); } }

All standard collection types are analyzed this way by default. If necessary, you can also apply this analysis to your custom collections that derive from IEnumerable. In this case, you need to tell Rider how invocations of collection’s public methods will affect the contents of the collection. To do so, mark the methods of your collection class with the [CollectionAccessAttribute], which should have one of four flags: None, Read, ModifyExisitingContent, UpdatedContent (the difference between the last two flags is that UpdatedContent means that the marked function can also add new elements to the collection). Here is a simple example to illustrate this:

Using Rider code annotation to improve code analysis of collection access
Last modified: 11 October 2017

See Also