Обнаружение рекурсивных свойств
-
20-09-2019 - |
Вопрос
Кто-нибудь знает, есть ли какая-нибудь опция в VS2010 или какой-нибудь сторонний инструмент, который я могу использовать для обнаружения рекурсивных свойств, таких как:
private string name;
public string Name
{
get{ return this.Name; }
}
Вышесказанное, очевидно, является ошибкой, но компилятор не выдает никаких предупреждений.Я могу оценить, что, в общем, рекурсивные методы совершенно законны, но приведенный выше сценарий не имеет особого смысла.На самом деле это происходит, когда я пишу свойство перед вспомогательным полем, даже при написании this.name
в нижнем регистре, потому что VS2010 увидит, что this.name
не существует и измените оболочку на this.Name
который действительно существует.
Проблема усугубляется при привязке к этому свойству в WPF.Приложение выходит из строя и забирает с собой VS2010.Это очень затрудняет отладку, вот почему я хотел бы иметь какой-нибудь инструмент, который предупреждал бы меня во время компиляции.
Надеюсь, кто-нибудь сможет помочь.
/Klaus
Решение
Я знаю, что ReSharper добавляет индикатор столбца рядом с рекурсивным вызовом, так что это легко увидеть.Однако я не думаю, что у него есть возможность найти все рекурсивные методы в вашем коде. РеЗхарпер 5.0 EAP доступно для VS2010.