Что такое предусловие? Это некоторое утверждение, которое должно быть истинным во время вызова метода, причем за его истинность отвечает вызывающая сторона. Предусловия включают в себя проверку аргументов или внутреннего состояния
объекта, а его нарушение проявляется в генерации вызываемым кодом исключений
ArgumentException для невалидных аргументов, и
InvalidOperationException для вызова метода в невалидном состоянии объекта.
Читать дальше...
Сделаем содержимое сообщества лучше, вместе!