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

Best practice per gli obsolete in un enum

Succede che a volte dovete cambiare i nomi degli elementi in un'enum, per esempio, da ConsoleKey.BackSpace a ConsoleKey.Backspace, oppure da ConsoleKey.SpaceBar a ConsoleKey.Spacebar, utilizzando l'attributo Obsolete. Attenzione all'ordine degli elementi con lo stesso valore! L'elemento obsolete deve essere posizionato dopo l'elemento valido dello stesso valore.

Il seguente snippet:

class Test
{
      static void Main()
      {
            Foo f = (Foo)1;
            System.Console.WriteLine(f);
      }
}

stampa SomeThing a console se l'enum è:

// NO!
public enum Foo
{
      [Obsolete("Use Foo.Something.")]
      SomeThing = 1,
      Something = 1
}

e Something se l'enum è:

// OK!
public enum Foo
{
      Something = 1
      [Obsolete("Use Foo.Something.")]
      SomeThing = 1,
}

Print | posted on mercoledì 29 giugno 2005 22:18 | Filed Under [ Carillon .NET Pattern Dappertutto ]

Powered by:
Powered By Subtext Powered By ASP.NET