This post originated from an RSS feed registered with .NET Buzz
by Adrian Florea.
Original Post: L'uso di una marker interface generica con constructor constraint
Feed Title: Web Log di Adrian Florea
Feed URL: /error.aspx?aspxerrorpath=/adrian/Rss.aspx
Feed Description: "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
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:
publicinterfaceIDefaultConstructorwhere T : new() {}
e quindi basta che la classe Foo implementi IDefaultConstructor per essere sicuri in fase di compilazione che essa abbia un costruttore default:
classFoo : IDefaultConstructor<Foo> { public Foo()// garantito! { // ... } // altri costruttori... public Foo(int i) { //... } // il resto dei membri }