MethodInfo.IsGenericMethod Property

Gets a value indicating whether the current method is a generic method.

Namespace:  System.Reflection
Assembly:  mscorlib (in mscorlib.dll)

public override bool IsGenericMethod { get; }

Property Value

Type: System.Boolean
true if the current method is a generic method; otherwise, false.

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.



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.

Console.WriteLine("\tIs it a generic method? {0}", 

.NET Framework

Supported in: 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Community Additions