MethodInfo::IsGenericMethod Property
Gets a value indicating whether the current method is a generic method.
Namespace: System.Reflection
Assembly: mscorlib (in mscorlib.dll)
Use the IsGenericMethod property to determine whether a MethodInfo object represents a generic method. Use the ContainsGenericParameters property to determine whether a MethodInfo object represents an open constructed method or a closed constructed method.
The following table summarizes the invariant conditions for terms specific to generic methods. For other terms used in generic reflection, such as generic type parameter and generic type, see the Type::IsGenericType property.
Term | Invariant |
|---|---|
generic method definition | The IsGenericMethodDefinition property is true. Defines a generic method. A constructed method is created by calling the MakeGenericMethod method on a MethodInfo object that represents a generic method definition, and specifying an array of type arguments. MakeGenericMethod can be called only on generic method definitions. Any generic method definition is a generic method, but the converse is not true. |
generic method | The IsGenericMethod property is true. Can be a generic method definition, an open constructed method, or a closed constructed method. |
open constructed method | The ContainsGenericParameters property is true. It is not possible to invoke an open constructed method. |
closed constructed method | The ContainsGenericParameters property is false. When examined recursively, the method has no unassigned generic parameters. The containing type has no generic type parameters, and none of the type arguments have generic type parameters. The method can be invoked. |
The following code example uses the IsGenericMethod property to display a message indicating whether a method is generic.
This example is part of a larger example provided for the MakeGenericMethod method.