System.Type.FindInterfaces Method

Returns an array of Type objects representing a filtered list of interfaces implemented or inherited by the current Type.

Syntax

public virtual Type[] FindInterfaces (System.Reflection.TypeFilter filter, object filterCriteria)

Parameters

filter
The delegate that compares the interfaces against filterCriteria.
filterCriteria
The search criteria that determines whether an interface should be included in the returned array.

Returns

An array of Type objects representing a filtered list of the interfaces implemented or inherited by the current Type, or an empty array of type Type if no interfaces matching the filter are implemented or inherited by the current Type.

Remarks

This method can be overridden by a derived class.

The System.Reflection.Module.FilterTypeName and System.Reflection.Module.FilterTypeNameIgnoreCase delegates supplied by the System.Reflection.Module class may also be used, in lieu of the System.Reflection.TypeFilter delegate.

All of the interfaces implemented by this class are considered during the search, whether declared by a base class or this class itself.

This method searches the base class hierarchy, returning each of the matching interfaces each class implements as well as all the matching interfaces each of those interfaces implements (that is, the transitive closure of the matching interfaces is returned). No duplicate interfaces are returned.

If the current Type represents a type parameter in the definition of a generic type or generic method, Type.FindInterfaces(System.Reflection.TypeFilter, object) searches all the interfaces declared in the constraints on the type parameter, and all interfaces inherited through the interfaces declared in the constraints. If the current Type represents a type argument of a generic type, Type.FindInterfaces(System.Reflection.TypeFilter, object) searches all the interfaces implemented by the type, whether or not they match constraints.

Note:

Type.FindInterfaces(System.Reflection.TypeFilter, object) can return generic interfaces, even on types that are not generic. For example, a nongeneric type might implement IEnumerable<int> (IEnumerable(Of Integer) in Visual Basic).

Requirements

Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Assembly Versions: 1.0.5000.0, 2.0.0.0, 4.0.0.0