Exportieren (0) Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Type.GetConstructor-Methode (Type[])

Sucht einen öffentlichen Konstruktor für Instanzen, dessen Parameter den Typen im angegebenen Array entsprechen.

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

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

Parameter

types
Typ: System.Type[]
Ein Array von Type-Objekten, das Anzahl, Reihenfolge und 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

Typ: System.Reflection.ConstructorInfo
Ein Objekt, das den öffentlichen Konstruktor für Instanzen darstellt, dessen Parameter den Typen im Parametertyparray entsprechen, oder null, wenn ein solcher Konstruktor nicht gefunden wurde.

Implementiert

_Type.GetConstructor(Type[])

AusnahmeBedingung
ArgumentNullException

types ist null.

- oder -

Eines der Elemente in types ist null.

ArgumentException

types ist mehrdimensional.

Diese Methodenüberladung sucht nach öffentlichen Konstruktoren für Instanzen und kann nicht zum Abrufen von Klasseninitialisierern (.cctor) verwendet werden. Um einen Klasseninitialisierer abzurufen, verwenden Sie eine Überladung, die BindingFlags akzeptiert, und geben Sie BindingFlags.Static an | BindingFlags.NonPublic (BindingFlags.StaticOrBindingFlags.NonPublic in Visual Basic). Sie können den Klasseninitialisierer auch mit der TypeInitializer-Eigenschaft abrufen.

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

HinweisHinweis

Bei der Suche nach Konstruktoren oder Methoden dürfen keine Parameter ausgelassen werden. Nur beim Aufruf können Parameter ausgelassen werden.

Wenn der aktuelle Type einen konstruierten generischen Typ darstellt, gibt diese Methode die ConstructorInfo zurück, wobei die Typparameter durch die entsprechenden Typargumente ersetzt wurden. Wenn der aktuelle Type einen Typparameter in der Definition eines generischen Typs oder einer generischen Methoden darstellt, gibt diese Methode immer null zurück.

Im folgenden Beispiel werden der Typ von MyClass und das ConstructorInfo-Objekt abgerufen, und die Signatur des Konstruktors wird angezeigt.



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

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2015 Microsoft