Легко найти весь код, который использует свойство, однако как мне найти код, который просто устанавливает?
(Когда я нахожу "найти все ссылки" в "наборе", он просто "находит всю ссылку" на самом свойстве, включая код, который просто читает его.)
Легко найти весь код, который использует свойство, однако как мне найти код, который просто устанавливает?
(Когда я нахожу "найти все ссылки" в "наборе", он просто "находит всю ссылку" на самом свойстве, включая код, который просто читает его.)
Вы можете использовать Resharper.
В качестве альтернативы, установите установщик как частный (или закомментируйте установщик полностью) и перекомпилируйте. Вы получите ошибки, когда пытаетесь установить свойство.
Попробуйте прокомментировать часть свойства set
, и ее создание дает ошибку во всех местах, где она используется.
Для чего это стоит, это будет изначально возможно с VS2019.
В частности, в окне "Найти все ссылки" есть новый столбец "Вид", который можно отфильтровать по ссылкам "Запись":
Конкретный Github PR, который добавил эту функцию, планируется включить в Visual Studio 2019 Preview 2 (16.0.P2) https://github.com/dotnet/roslyn/issues/22545
Полная версия VS2019 запланирована на первый квартал 2019 года.
Вы можете выполнить текстовый поиск на propertyName =
- вы можете попробовать использовать поиск в регулярном выражении, чтобы разрешить от 0 до n пробелов между именем и =
.
AFAIK, это невозможно сделать с помощью стандартных функций Visual Studio - он не делает ничего особенного для свойств, чтобы проверить, используются ли они с левой или с правой стороны при поиске и, нет возможности сказать это, чтобы сделать это.
Чтобы предоставить параметр без необходимости запуска дополнительных регулярных выражений или установки другого программного обеспечения, вы можете просто просмотреть окно результатов, чтобы ваши глаза просматривали левые вхождения - возможно, не самые продуктивные, но я не уверен, что вижу большое преимущество перед другими предложениями.
Наконец, предложение @Kamyar о том, что свойства, недоступные для доступа, выглядят достойными внимания, но это зависит от того, сколько времени требуется, чтобы ваш проект был скомпилирован, может потребоваться еще больше, чтобы найти все, - я не уверен почему вам понадобится Resharper, чтобы сделать это, хотя.
Если вы используете визуальную студию 2010 только правой кнопкой мыши по своему свойству и выберите "view call hierarchy"
ИЛИ
Вид- > Иерархия вызовов из пункта меню
Здесь достаточно надежное решение, которое будет работать и для не-Свойства с помощью Visual Studio без сторонних инструментов. Обязательно выберите опции "Случай соответствия" и "Использовать регулярные выражения" в "Найти".
1. Для всех, кроме Post-Pre-fix Increment и Shift Assignments:
(^|[^\w.])MyVariable\s*([\+\-\*/%&|\^]|)=[\w\s]
2. Для пост-префиксных приращений и присвоений сдвига:
((^|[^\w.])MyVariable\s*(\+\+|--)|(\+\+|--)\s*MyVariable[^\w.]|(^|[^\w.])MyVariable\s*(<<|>>)=)
3. Для параметров Out/Ref (N/A для свойств):
(^|[^\w.])(out|ref)\s+MyVariable[^\w.]
CAVEATS: