Default Constructor Constraint

Besides generic constraints expressed based on interfaces or base classes, a few other techniques are available. One is the new constraint, expressing the requirement to have a default constructor available for a certain type parameter:

class Factory<T> where T : new() {    ...    public T CreateInstance() {        return new T();    }}

Obviously, the preceding Factory<T> type’s CreateInstance method doesn’t provide any value over direct instantiation of an object from the outside. It’s merely a way to show how the expected constructor syntax can be used in conjunction with a type parameter as long as that parameter is properly constrained. From the outside, this type would be used ...

Get C# 5.0 Unleashed now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.