Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > .ToString вызывется до конструктора


Автор: Fobos 8.7.2009, 18:35
Пишу простенький код: 
Код

using System;
using System.Collections;
using System.Linq;
using System.Text;

namespace l.r._7._11
{
    class Company
    {
        // поля
        private string CompanyName;
        private int countVorkers;
        // конструкторы
        public Company()
        {
            CompanyName = "Microsoft";
        }
        
        public override string ToString()
        {
            System.Console.WriteLine("########\nРаботает тустринг\n#########");
            System.Console.WriteLine("Название фирмы: " + CompanyName);
            System.Console.WriteLine("Количество работников: " + countVorkers);
            return "-------------";
        }
        
    }
}


Код

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace l.r._7._11
{
    class Program
    {
        static void Main()
        {
            Company cmp = new Company();  // на эту строку ставлю бряк
        }
    }
}

Когда выполнение остановится на бряке, жму F11, только вхожу в конструктор, но программа у же выводит:
http://pic.ipicture.ru/uploads/090708/zLZYSwa5Ky.jpg
Я никак не пойму в чем дело, склоняюсь к версии что это глюк какой-то. Подскажите пожалуйста.

Автор: DVariuS 8.7.2009, 18:45
Fobos, а если бряк не ставить - что-то меняется?

Автор: Fobos 8.7.2009, 18:56
Да, только при бряке, если убрать, то все проходит нормально. Почему - ума не приложу

Автор: archeg 8.7.2009, 19:02
Думаю потому что дебагеру как-то надо вывести инфу о твоем класе. Он и вызывает ту стринг. Ну или что-то еще студийное) Вообще ту стринг должен возвращать данные и больше ниче не делать. И мало ли кому понадобица твой ту стринг)

Автор: Fobos 8.7.2009, 19:21
Наверное так и есть он заем-то вызывает его а у мну там принудительный вывод на консоль. Спасибо за помощь

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)