День добрый. Не могу понять одну вещь. В обычном режиме компиляции фразу "Конструктор B" выводит один раз. Однако, если запустить отладку в одном месте (указано в коде) , то фраза печатается 3 раза. Очень любопытно, почему это происходит.
using System;
class Program
{
static void Main()
{
Console.WriteLine("До вызова");
Class_1.StaticMethod();
Console.WriteLine("После вызова");
Console.ReadKey();
}
}
class Class_1
{
private Class_2 field = new Class_2();
public static void StaticMethod()
{
Console.WriteLine(new Class_1().field); // Флажок для отладки
}
}
class Class_2
{
public Class_2()
{
Console.WriteLine("Конструктор B");
}
public override string ToString()
{
return "Class_2";
}
}