Уже есть вопрос по SO о «возможных множественных перечислениях» , но этот вопрос более конкретный.
Пожалуйста, рассмотрите следующий метод, который принимает IEnumerable
в качестве входных данных и выполняет данный метод для каждого из своих элементов:
public static bool SomeMethod(IEnumerable enumerable)
{
if (enumerable.IsNullOrEmpty())
{
// throw exception.
}
else
{
return (enumerable.All(SomeBooleanMethod));
}
}
В приведенном выше коде IsNullOrEmpty
является просто метод расширения, который запускается
return (!ReferenceEquals(enumerable, null) || enumerable.Any());
Проблема в том, что ReSharper предупреждает меня о «возможных множественных перечислениях IEnumerable», и я действительно не знаю, может ли это быть проблемой или нет.
Я понимаю значение предупреждения, но что вы действительно можете сделать в этой ситуации, если вам действительно нужно проверить и выдать исключение в случае недействительности или пустоты?