Activator.CreateInstance<T> Method
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Creates an instance of the type designated by the specified generic type parameter, using the parameterless constructor.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Shared Function CreateInstance(Of T) As T
public static T CreateInstance<T>()
Type Parameters
- T
The type to create.
Return Value
Type: T
A reference to the newly created object.
Exceptions
Exception | Condition |
---|---|
MissingMethodException | The type that is specified for T does not have a parameterless constructor. |
Remarks
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 Shared Function Factory(Of T As New)() As T
Return New T()
End Function
public static T Factory<T>() where T:new()
{
return new T();
}
public:
generic <typename T> where T:gcnew()
static T Bar()
{
return gcnew 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.
Version Information
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
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.