Я создал проект Spec Explorer, который имеет список как системную переменную. Почти во всех правилах этот список адаптирован для получения правильных результатов. Но когда я исследую свой проект, я получаю повторяющиеся состояния. Если сравнивать эти состояния с той лишь разницей я нахожу:Как сбросить список _version для предотвращения повторяющихся состояний в Spec Explorer
_version: 25 System.Int32
_version: 23 System.Int32
После прибегая к помощи, почему это происходит, я обнаружил, что каждый раз, когда строка изменяется изменения версии. Так что, хотя версии 23 и 25 содержат одну и ту же строку, номер версии заставляет Spec Explorer думать, что они разные, поэтому он создает 2 состояния. В любом случае, чтобы исправить это? Как сброс строки или, возможно, есть способ заставить Spec Explorer принять это.
Первого спасибо за ответ, я не думаю, что вы получите точную проблему. _version - это не имя списка, это версия моего списка, мой список называется «enabled». Список версий 23 и 25 точно такой же, за исключением номера версии. Этот номер версии - это то, что я не могу редактировать. Каждый раз, когда я включаю .Add («что-то») или включена. Очистить() внутренне визуальная студия изменяет номер версии, а Spec Explorer видит 2 разных состояния, хотя они на самом деле одинаковы. Функция Add возвращает void, поэтому предлагаемое решение не будет работать. – Kyra
@ Kyra: В моем тесте выше я мог воспроизвести вашу проблему. Так что-то вы делаете что-то другое. Какую коллекцию вы используете (вы упоминаете «список», который не является частью Microsoft.Modeling)? Microsoft.Modeling.Set действительно возвращает Set, а не void (см. Https://msdn.microsoft.com/en-us/library/ee680676.aspx). Или вы используете контейнер, такой как Microsoft.Modelling.SetContainer? Попробуйте использовать один из них ... – goofy
@Kyra: Если «_version» не является частью вашего пространства состояний, я понятия не имею, откуда оно взялось. Мое единственное предположение, что это может быть внутреннее состояние реализации «списка», которое вы используете, которое обычно совершенно невидимо для пользователя ... – goofy