Freigeben über


MethodBase.GetGenericArguments Methode

Definition

Gibt ein Array von Type-Objekten zurück, die die Typargumente einer generischen Methode oder die Typparameter einer generischen Methodendefinition darstellen.

public:
 virtual cli::array <Type ^> ^ GetGenericArguments();
public virtual Type[] GetGenericArguments ();
[System.Runtime.InteropServices.ComVisible(true)]
public virtual Type[] GetGenericArguments ();
abstract member GetGenericArguments : unit -> Type[]
override this.GetGenericArguments : unit -> Type[]
[<System.Runtime.InteropServices.ComVisible(true)>]
abstract member GetGenericArguments : unit -> Type[]
override this.GetGenericArguments : unit -> Type[]
Public Overridable Function GetGenericArguments () As Type()

Gibt zurück

Type[]

Ein Array von Type-Objekten, die die Typargumente einer generischen Methode oder die Typparameter einer generischen Methodendefinition darstellen. Gibt ein leeres Array zurück, wenn die aktuelle Methode keine generische Methode ist.

Attribute

Ausnahmen

Das aktuelle Objekt ist eine ConstructorInfo. Generische Konstruktoren werden in .NET Framework, Version 2.0, nicht unterstützt. Diese Ausnahme ist das Standardverhalten, wenn diese Methode nicht in einer abgeleiteten Klasse überschrieben wird.

Hinweise

Die Elemente des zurückgegebenen Arrays befinden sich in der Reihenfolge, in der sie in der Liste der Typparameter für die generische Methode angezeigt werden.

  • Wenn die aktuelle Methode eine geschlossene konstruierte Methode ist (d. h. die ContainsGenericParameters -Eigenschaft gibt zurück false), enthält das von der GetGenericArguments -Methode zurückgegebene Array die Typen, die den generischen Typparametern der generischen Methodendefinition zugewiesen wurden.

  • Wenn die aktuelle Methode eine generische Methodendefinition ist, enthält das Array die Typparameter.

  • Wenn die aktuelle Methode eine offene konstruierte Methode ist (d. h. die -Eigenschaft gibt zurücktrue), in der ContainsGenericParameters bestimmten Typen bestimmten Typen zugewiesen wurden, und Typparameter von eingeschlossenen generischen Typen anderen Typparametern zugewiesen wurden, enthält das Array sowohl Typen als auch Typparameter. Verwenden Sie die IsGenericParameter -Eigenschaft, um sie voneinander zu trennen. Eine Demonstration dieses Szenarios finden Sie im Codebeispiel für die ContainsGenericParameters -Eigenschaft.

Generische Konstruktoren werden in .NET Framework, Version 2.0, nicht unterstützt. Diese Eigenschaft löst aus, wenn sie in einer abgeleiteten Klasse nicht überschrieben NotSupportedException wird, sodass eine Ausnahme ausgelöst wird, wenn die aktuelle instance vom Typ ConstructorInfoist.

Eine Liste der invarianten Bedingungen für begriffe, die für generische Methoden spezifisch sind, finden Sie in der IsGenericMethod -Eigenschaft. Eine Liste der invarianten Bedingungen für andere Begriffe, die in der generischen Reflexion verwendet werden, finden Sie in der Type.IsGenericType -Eigenschaft.

Gilt für:

Weitere Informationen