MethodBase.ContainsGenericParameters Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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 .