Web Log di Adrian Florea

"You know you've achieved perfection in design, not when you have nothing more to add, but when you have nothing more to take away." Antoine de Saint-Exupery
posts - 440, comments - 2715, trackbacks - 3944

My Links

Archives

Post Categories

Image Galleries

.RO Blogs

.RO People

.RO Sites

Blogs

Furls

Links

vinCitori

The reference of the static field B.x triggers only the initialization of A (Nicu G. Fruja)

Avrei potuto proporlo come quiz, ma poi mi sono chiesto: "Perché essere sadici?" :-)

using System;

class A
{
  public static int x;
  static A()
  {
   Console.WriteLine("Initializing A");
  }
}

class B: A
{
  static B()
  {
   Console.WriteLine("Initializing B");
  }
}

class Test
{
  static void Main()
  {
   Console.WriteLine("B.x = {0}", B.x);
  }
}

Veramente non riesco a spiegarmi il fatto che questo snippet stampi:

Initializing A
B.x = 0

Perché A??? Magari chiedo a Nicu e poi ve lo dico, se mi risponde :-)

Se qualcuno trova una spiegazione, varebbe la pena di postarla!

Print | posted on lunedì 9 agosto 2004 20:23 | Filed Under [ Carillon .NET ]

Powered by:
Powered By Subtext Powered By ASP.NET