Я только что начал использовать Visual Studio 2015 и обнаружил, что он ведет себя по-разному с VS2012/VS2013 при отладке автоматически реализованных свойств.В VS2015, как отключить Step Into для автоматически реализованных свойств?
Скажем, у меня есть свойство, определенное в классе:
public int MyProperty { get; set; }
т.е.. автоматически реализованное свойство, при котором получатель и сеттер эффективно генерируются компилятором.
Я могу сослаться на эту собственность позже, как часть вызова метода, например:
{
DoSomeStuff(MyProperty);
}
Если я хочу, чтобы отладить вызов DoSomeStuff
и поставить точку останова на этой линии, а затем ждать его чтобы попасть в F11 и перейти к вызову. В отладчик VS2015 теперь входит в getter для MyProperty
(в предыдущих версиях для автоматически реализованных свойств он просто игнорировал бы геттеры и сеттеры).
Я нашел blog post, который описывает возможность установки точек останова на автогрейдеры & сеттеров в качестве новой функции, и я могу видеть, как это может быть полезно в некоторых случаях. Однако в моем случае я не заинтересован в том, чтобы перехватывать или вступать в эти методы, в частности, поскольку наша база кода имеет много автоматически реализованных свойств, и доступ к ним часто вложен (например, DoSomeStuff(X.Y.Z)
).
Короче говоря, можно ли отключить новое поведение Step Into для автоматически реализованных свойств в VS2015, и если да, то как?
(я заметил «Шаг за свойства и операторов» флажок в опции отладки, но я не хочу, чтобы перешагнуть все собственности геттеров/сеттер, только те, для авто Реализуемых свойств.)
Как правило, лучше всего «переходить по свойствам» почти всегда и только наступать, когда вам действительно нужно отлаживать конкретный код свойства. В контекстном меню есть много вариантов, связанных с степпингом. – Phil1970