Type.GetConstructor Method (Type())
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Searches for a public instance constructor whose parameters match the types in the specified array.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- types
- Type:
System.Type
()
An array of Type objects representing the number, order, and type of the parameters for the desired constructor.
-or-
An empty array of Type objects, to get a constructor that takes no parameters. Such an empty array is provided by the static field Type.EmptyTypes.
Return Value
Type: System.Reflection.ConstructorInfoA ConstructorInfo object representing the public instance constructor whose parameters match the types in the parameter type array, if found; otherwise, Nothing.
| Exception | Condition |
|---|---|
| ArgumentNullException | types is Nothing. -or- One of the elements in types is Nothing. |
| ArgumentException | types is multidimensional. |
This method overload looks for public instance constructors and cannot be used to obtain a class initializer (.cctor). To get a class initializer, use an overload that takes BindingFlags, and specify BindingFlags.Static | BindingFlags.NonPublic (BindingFlags.StaticOrBindingFlags.NonPublic in Visual Basic).
If the requested constructor is non-public, this method returns Nothing.
Note: |
|---|
You cannot omit parameters when looking up constructors and methods. You can only omit parameters when invoking. |
If the current Type represents a constructed generic type, this method returns the ConstructorInfo with the type parameters replaced by the appropriate type arguments. If the current Type represents a type parameter in the definition of a generic type or generic method, this method always returns Nothing.
The following example obtains the type of MyClass, gets the ConstructorInfo object, and displays the constructor signature.
Note: |
|---|
To run this example, see Building examples that have static TextBlock controls for Windows Phone 8. |
Imports System.Reflection Imports System.Security Public Class Example Public Sub New() End Sub Public Sub New(ByVal i As Integer) End Sub Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock) Dim myType As Type = GetType(Example) Dim parameters() As Type = { GetType(Int32) } ' Get the constructor that takes an integer as a parameter. Dim ctor As ConstructorInfo = myType.GetConstructor(parameters) If ctor Is Nothing Then outputBlock.Text &= _ "There is no public constructor of MyClass that takes an integer as a parameter." & vbCrLf Else outputBlock.Text &= _ "The public constructor of MyClass that takes an integer as a parameter is: " & vbCrLf outputBlock.Text &= ctor.ToString() & vbCrLf End If End Sub End Class ' This example produces the following output: ' 'The public constructor of MyClass that takes an integer as a parameter is: 'Void .ctor(Int32)
Note: