Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Type.GetConstructor-Methode: (Type[])

 

Veröffentlicht: Oktober 2016

Sucht einen öffentlichen Instanzkonstruktor, dessen Parameter den Typen im angegebenen Array entsprechen.

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

[ComVisibleAttribute(true)]
public ConstructorInfo GetConstructor(
	Type[] types
)

Parameter

types
Type: System.Type[]

Ein Array von Type-Objekten, das die Anzahl, die Reihenfolge und den Typ der Parameter des abzurufenden Konstruktors darstellt.

- oder -

Ein leeres Array von Type-Objekten zum Abrufen eines Konstruktors ohne Parameter. Das static-Feld Type.EmptyTypes stellt ein entsprechendes leeres Array bereit.

Rückgabewert

Type: System.Reflection.ConstructorInfo

Ein Objekt, das den öffentlichen Instanzkonstruktor darstellt, dessen Parameter den Typen im Parametertyparray entsprechen, sofern gefunden, andernfalls null.

Exception Condition
ArgumentNullException

types ist null.

- oder -

Eines der Elemente in types ist null.

ArgumentException

types ist mehrdimensional.

Diese methodenüberladung sucht nach öffentlichen Instanzkonstruktoren und kann nicht verwendet werden, um ein Klasseninitialisierer (".cctor") zu erhalten. Um ein Klasseninitialisierer zu erhalten, verwenden Sie eine Überladung mit BindingFlags, und geben Sie BindingFlags.Static | BindingFlags.NonPublic (BindingFlags.StaticOrBindingFlags.NonPublic in Visual Basic). Außerdem erhalten Sie, dass die klasseninitialisierung verwenden die TypeInitializer Eigenschaft.

Wenn der angeforderte Konstruktor nicht öffentlich ist, gibt diese Methode null.

System_CAPS_noteHinweis

Sie können keine Parameter auslassen, beim Nachschlagen von Konstruktoren und Methoden. Sie können nur Parameter auslassen, aufrufen.

Wenn die aktuelle Type einen konstruierten generischen Typ darstellt, gibt diese Methode die ConstructorInfo mit Parametern für den durch die entsprechenden Typargumente ersetzt. Wenn die aktuelle Type einen Typparameter in der Definition eines generischen Typs oder generische Methode darstellt, auf diese Methode gibt immer null.

Das folgende Beispiel ruft den Typ der MyClass, ruft der ConstructorInfo -Objekt und zeigt die Signatur des Konstruktors.


using System;
using System.Reflection;
using System.Security;

public class MyClass1
{
    public MyClass1(){}
    public MyClass1(int i){}

    public static void Main()
    {
        try
        {
            Type myType = typeof(MyClass1);
            Type[] types = new Type[1];
            types[0] = typeof(int);
            // Get the constructor that takes an integer as a parameter.
            ConstructorInfo constructorInfoObj = myType.GetConstructor(types);
            if (constructorInfoObj != null)
            {
                Console.WriteLine("The constructor of MyClass1 that takes an " + 
                    "integer as a parameter is: "); 
                Console.WriteLine(constructorInfoObj.ToString());
            }
            else
            {
                Console.WriteLine("The constructor of MyClass1 that takes an integer " +
                    "as a parameter is not available."); 
            }
        }
        catch(Exception e)
        {
            Console.WriteLine("Exception caught.");
            Console.WriteLine("Source: " + e.Source);
            Console.WriteLine("Message: " + e.Message);
        }
    }
}

.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Zurück zum Anfang
Anzeigen: