Code Inspection: Parameter type can be IEnumerable of T
If you have a method whose parameter is an array, a List
, or some other type that implements IEnumerable<T>
, JetBrains Rider offers an option to change the parameter type to IEnumerable<T>
— provided that the method itself only iterates the collection and does not access any non-IEnumerable
members.
The benefit from this change is that the method becomes agnostic with respect to the type of the collection you pass to it.
private void ViewCategories(IList<string> categories)
{
foreach (var c in categories)
{
Console.WriteLine(c);
}
}
private void ViewCategories(IEnumerable<string> categories)
{
foreach (var c in categories)
{
Console.WriteLine(c);
}
}
Last modified: 07 April 2022