Вопрос

Кто-нибудь знает, есть ли какая-нибудь опция в 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top