MethodBase.ContainsGenericParameters Vlastnost

Definice

Získá hodnotu určující, zda obecná metoda obsahuje nepřiřazené parametry obecného typu.

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

Hodnota vlastnosti

Boolean

true Pokud aktuální objekt MethodBase představuje obecnou metodu, která obsahuje nepřiřazené parametry obecného typu, jinak false hodnota .

Poznámky

Obecnou metodu lze vyvolat pouze v případě, že neexistují žádné definice obecných typů nebo otevřené konstruované typy v argumentech typu samotné metody nebo v libovolných nadřazených typech. Vzhledem k tomu, že typy mohou být libovolně složité, je obtížné toto rekurzivní určování. Pro usnadnění a pro snížení pravděpodobnosti chyby poskytuje vlastnost standardní způsob, jak rozlišovat mezi uzavřenými vytvořenými metodami, které lze vyvolat, a otevřenými vytvořenými ContainsGenericParameters metodami, které nelze. Pokud ContainsGenericParameters vlastnost vrátí true , nelze metodu vyvolat.

Vlastnost ContainsGenericParameters rekurzivně vyhledá parametry typu. Například vrátí pro libovolnou metodu v otevřeném typu ( v Visual Basic), i když samotná true A<T> metoda není A(Of T) obecná. Porovnejte to s chováním IsGenericMethod vlastnosti , která pro takovou false metodu vrací hodnotu .

Podobně parametr vlastnosti vrátí pro libovolný konstruktor v otevřeném typu, i když konstruktory nemohou mít vlastní ContainsGenericParameters true parametry typu.

Seznam invariantní podmínek pro termíny specifické pro obecné metody najdete ve IsGenericMethod vlastnosti . Seznam invariantní podmínek pro jiné termíny používané v obecné reflexi najdete v vlastnosti Type.IsGenericType .

Platí pro

Viz také