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 oder offenen konstruierten Typen in den Typargumenten der Methode selbst oder in umschließenden Typen enthalten sind. Da Typen beliebig komplex sein können, ist es schwierig, diese rekursive Bestimmung zu treffen. Der Einfachheit halber und um die Wahrscheinlichkeit von Fehlern zu verringern, bietet die -Eigenschaft eine Standard-Möglichkeit, zwischen geschlossenen konstruierten Methoden, die aufgerufen werden können, und offenen konstruierten Methoden zu unterscheiden, dies nicht ContainsGenericParameters können. Wenn die ContainsGenericParameters -Eigenschaft true zurückgibt, kann die -Methode nicht aufgerufen werden.

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

Auf ähnliche Weise gibt der Eigenschaftsparameter für jeden Konstruktor in einem offenen Typ zurück, obwohl Konstruktoren keine ContainsGenericParameters true 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 Reflektion verwendet werden, finden Sie in der Type.IsGenericType -Eigenschaft.

Gilt für

Siehe auch