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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.