Учитывая случай, когда вам нужно вызвать метод библиотеки, который нельзя изменить в Contract.Requires
, (v.g., метод Regex.Matches
), есть способ указать, что этот метод является чистым?Как выразить, что метод в библиотеке чист?
Contract.Requires<ArgumentException>(Regex.Matches(password, "\d").Count > 1)
Предупреждение: Обнаружен вызов метода 'System.Text.RegularExpressions.Regex.Matches (System.String, System.String)' без [Чистый] в контрактах метода
Вы уверены, что этот метод является _is_ Pure? Если это не так, вы потенциально аннулируете свои контракты. –
Поскольку я запрашиваю только, если строка соответствует шаблону регулярного выражения, никаких побочных эффектов не ожидается. – Apocatastasis