CreateInstance(T) Method

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>()

Return Value

Type: T

A reference to the newly created object.

Type Parameters

T

The type to create.

Exception Condition
MissingMethodException
System_CAPS_noteNote

In the .NET for Windows Store apps or the Portable Class Library, catch the base class exception, MissingMemberException, instead.

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>() generic method in application code, because the type must be known at compile time. If the type is known at compile time, normal instantiation syntax can be used (new operator in C#, New in Visual Basic, gcnew in C++). If the type is not known at compile time, you can call a non-generic overload of CreateInstance.

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

Universal Windows Platform
Available since 8
.NET Framework
Available since 2.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top
Show:
© 2016 Microsoft