«Свойства» просматриваются в окне просмотра / в режиме отладки, но вызов не вызывается. C # - PullRequest
1 голос
/ 16 июня 2011

Я отправил вопрос о переходе в свойства Здесь Оказалось, что проблема с VS2008 и перешел к 2010 году. Я изучал свойства и достиг точки, где мне нужна некоторая ясность в отношении того, как хорошозначения видны в окнах наблюдения, но фактические вызовы не вызываются.

Когда я пытаюсь просмотреть свойство объектов в окне просмотра, я вижу значение, которое я предполагал, что я вижу нулевое значение.Поэтому я установил точку останова на свойстве и снова запустил программу, ожидая, что она сломается там.Этого не случилось.Теперь

  • Значения, отображаемые в режиме отладки для свойства, являются просто дополнительной функцией VS, позволяющей разработчику увидеть значение свойства, несмотря на то, что должен был быть вызван вызов
  • или я пропустил настройку?Я знаю, что я включил параметры «Шаг в свойствах».
  • Как только я получу конкретный доступ к свойству, точка останова достигнет нужного уровня.

Ниже приведен скриншот того, что я вижу.Вызов свойства вызывается в следующей закомментированной строке.

enter image description here

Вот мой код, который я тестировал.

namespace ClassPropertiesView
{
    class A
    {
        public int timings
        {
            get
            {
                return objB.bTimes;
            }
        }

        public B objB
        {
            get
            {
                return new B();
            }
        }
    }

    public class B
    {
        public int bTimes
        {
            get
            {
                return -1;
            }
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            A anObject = new A();
     //       Console.WriteLine(anObject.timings);
        }
    }
}

Любая помощьоценили.Спасибо!

1 Ответ

3 голосов
/ 16 июня 2011

Как вы видите, точки останова, установленные вами в ваших методах, не будут достигнуты, когда вы используете окно наблюдения (и другие виды отладки VS).

Я уверен, что это сделано специально. Если у вас открыто модальное окно Instant Watch и вы видите свойство, как оно будет показывать вам код за вашим текущим окном.

Существует также настройка в Инструменты ... Параметры ... Отладка \ Общие, которая называется Allow property evaluation in variable windows. Если вам не нравится автоматический вызов вашего метода get_property, вы можете отключить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...