MethodBase.ContainsGenericParameters Eigenschaft

Definition

Ruft einen Wert ab, der angibt, ob die generische Methode nicht zugewiesene generische Typparameter enthält.

public:
 virtual property bool ContainsGenericParameters { bool get(); };
public virtual bool ContainsGenericParameters { get; }
member this.ContainsGenericParameters : bool
Public Overridable ReadOnly Property ContainsGenericParameters As Boolean

Eigenschaftswert

Boolean

true, wenn das aktuelle MethodBase-Objekt eine generische Methode darstellt, die nicht zugewiesene generische Typparameter enthält, andernfalls false.

Hinweise

Eine generische Methode kann nur aufgerufen werden, wenn keine generischen Typdefinitionen vorhanden sind oder offene konstruierte Typen in den Typargumenten der Methode selbst oder in allen eingeschlossenen Typen vorhanden sind. Da Typen beliebig komplex sein können, ist diese rekursive Bestimmung schwierig. Um die Fehlerwahrscheinlichkeit zu verringern, bietet die ContainsGenericParameters Eigenschaft eine Standardmethode, um zwischen geschlossenen konstruierten Methoden zu unterscheiden, die aufgerufen werden können, und offene konstruierte Methoden, die nicht möglich sind. Wenn die ContainsGenericParameters Eigenschaft zurückgegeben truewird, kann die Methode nicht aufgerufen werden.

Die ContainsGenericParameters Eigenschaft sucht rekursiv nach Typparametern. Sie gibt beispielsweise für jede Methode in einem geöffneten Typ A<T> (A(Of T) in Visual Basic) zurücktrue, obwohl die Methode selbst nicht generisch ist. Kontrast dazu mit dem Verhalten der IsGenericMethod Eigenschaft, die für eine solche Methode zurückgegeben wird false .

Ebenso gibt der ContainsGenericParameters Eigenschaftsparameter für einen beliebigen Konstruktor in einem geöffneten Typ zurück true , auch wenn Konstruktoren keine Typparameter besitzen können.

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 Ausdrücke, die in generischer Reflexion verwendet werden, finden Sie in der Type.IsGenericType Eigenschaft.

Gilt für:

Siehe auch