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

L'uso di una marker interface generica con constructor constraint

Mi è venuta in mente questa idea e mi interesserebbe un feedback da parte vostra a riguardo.

Per obbligare una classe ad avere un costruttore default (public e senza parametri), mi sono costruito una marker interface generica con constructor constraint:

public interface IDefaultConstructor<T> where T : new() {}

e quindi basta che la classe Foo implementi IDefaultConstructor per essere sicuri in fase di compilazione che essa abbia un costruttore default:

class Foo : IDefaultConstructor<Foo>
{
      public Foo() // garantito!
      {
            // ...
      }
 
      // altri costruttori...
      public Foo(int i)
      {
            //...
      }
 
      // il resto dei membri
}

Print | posted on venerdì 14 ottobre 2005 20:41 | Filed Under [ Pattern Dappertutto ]

Powered by:
Powered By Subtext Powered By ASP.NET