В качестве примера вы можете взглянуть на метод System.Linq.Queryable.Single
, который является методом расширения интерфейса IQueryable
и выдает InvalidOperationException
в случае, если в коллекции более одного элемента.
ИМХО, InvalidOperationException
- худший выбор, чем ArgumentOutOfRangeException
, но я предполагаю, что поскольку Microsoft использовала InvalidOperationException
, похоже, в .NET нет соответствующего класса исключений.