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

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 oder offen 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. Zur Vereinfachung und zur Verringerung der Fehlerwahrscheinlichkeit bietet die ContainsGenericParameters Eigenschaft eine Standardmethode, um zwischen geschlossenen konstruierten Methoden, die aufgerufen werden können, und offenen konstruierten Methoden zu unterscheiden, die nicht möglich sind. Wenn die ContainsGenericParameters -Eigenschaft zurückgibt true, kann die -Methode nicht aufgerufen werden.

Die ContainsGenericParameters -Eigenschaft sucht rekursiv nach Typparametern. Beispielsweise wird für jede Methode in einem offenen Typ A<T> (A(Of T) in Visual Basic) zurückgegebentrue, obwohl die Methode selbst nicht generisch ist. Kontrastieren Sie dies mit dem Verhalten der IsGenericMethod Eigenschaft, die für eine solche Methode zurückgibt false .

Ebenso gibt der ContainsGenericParameters Eigenschaftsparameter für jeden Konstruktor in einem offenen Typ zurück true , obwohl Konstruktoren keine eigenen Typparameter haben 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 Begriffe, die in der generischen Reflexion verwendet werden, finden Sie in der Type.IsGenericType -Eigenschaft.

Gilt für:

Weitere Informationen