Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Activator.CreateInstance<T> Method

Creates an instance of the type designated by the specified generic type parameter, using the parameterless constructor.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

public static T CreateInstance<T>()

Type Parameters

T

The type to create.

Return Value

Type: T
A reference to the newly created object.

ExceptionCondition
MissingMethodException

The type that is specified for T does not have a parameterless constructor.

The CreateInstance<T>() generic method is used by compilers to implement the instantiation of types specified by type parameters. For example, in the following generic method, the implementation of new T() (gcnew T() in C++) uses the CreateInstance<T>() generic method.

public static T Factory<T>() where T:new() 
{
    return new T();   
}

In general, there is no use for the CreateInstance<T>() method overload in application code, because the type must be known at compile time. If the type is known at compile time, standard instantiation syntax can be used (new operator in C#, New in Visual Basic, gcnew in C++).

There are no generic overloads of the CreateInstance method that take argument lists, because the non-generic overloads already provide late-bound constructor resolution.

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions

Show:
© 2014 Microsoft