MethodBase.ContainsGenericParameters Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 offenen konstruierten 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 zu unterscheiden, die aufgerufen werden können, und offenen konstruierten Methoden, die nicht möglich sind. Wenn die ContainsGenericParameters Eigenschaft zurückgegeben wird true, kann die Methode nicht aufgerufen werden.
Die ContainsGenericParameters Eigenschaft sucht rekursiv nach Typparametern. Beispielsweise wird sie für jede Methode in einem geöffneten Typ A<T> (A(Of T) in Visual Basic) zurückgegebentrue, 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 Eigenschaftsparameter ContainsGenericParameters für jeden Konstruktor in einem geöffneten Typ zurück true , obwohl Konstruktoren keine eigenen Typparameter haben können.
Eine Liste der invarianten Bedingungen für begriffe, die spezifisch für generische Methoden sind, finden Sie in der IsGenericMethod Eigenschaft. Eine Liste der invarianten Bedingungen für andere Begriffe, die in generischer Spiegelung verwendet werden, finden Sie in der Type.IsGenericType Eigenschaft.