Кодовый контракт, который гарантирует, что все элементы в коллекции одинаковы - PullRequest
1 голос
/ 21 октября 2011

Как я могу создать постусловие, которое гарантирует, что все элементы в коллекции одинаковы?

Я думал об использовании этого решения , но я не уверен, может ли этовызвать некоторые нежелательные побочные эффекты или неправильное использование контрактов кода.

1 Ответ

1 голос
/ 21 октября 2011

Похоже, что связанный код не имеет побочных эффектов, так что я бы не беспокоился об этом.Я рекомендую поместить код, который проверяет условие «все равно», в свою собственную (чистую) функцию и просто вызвать его.

Contract.Ensures(AllEqual(myEnumeration));

Это означает, что AllEqual должен быть как минимум таким же видимым, как и сам ваш метод,но я думаю, что это сделает все чище.

...