Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método Module.FindTypes (TypeFilter, Object)

 

Devuelve una matriz de las clases aceptadas por el filtro y los criterios de filtro dados.

Espacio de nombres:   System.Reflection
Ensamblado:  mscorlib (en mscorlib.dll)

public virtual Type[] FindTypes(
	TypeFilter filter,
	object filterCriteria
)

Parámetros

filter
Type: System.Reflection.TypeFilter

Delegado utilizado para filtrar las clases.

filterCriteria
Type: System.Object

Objeto utilizado para filtrar las clases.

Valor devuelto

Type: System.Type[]

Matriz de tipo Type que contiene las clases aceptadas por el filtro.

Exception Condition
ReflectionTypeLoadException

No se pudieron cargar una o más clases en un módulo.

ReflectionTypeLoadExceptiones una excepción de carga de clase especial. El ReflectionTypeLoadException.Types propiedad contiene la matriz de clases que se definieron en el módulo y cargadas. Esta matriz puede contener valores null. El ReflectionTypeLoadException.LoaderExceptions propiedad es una matriz de excepciones que representan las excepciones producidas por el cargador de clases. Los agujeros en la matriz de clase se alineen con las excepciones.

El delegado proporcionado por filter se llama para cada clase en el módulo, pasando a lo largo de la Type que representa la clase de objeto, así como la determinada filterCriteria. Si filter devuelve una determinada clase, que la clase se incluirá en la matriz devuelta. Si filter devuelve null, se devuelven todas las clases y filterCriteria se omite.

FindTypesno se puede usar para buscar tipos parametrizados como flechas.

En el ejemplo siguiente se muestra el FindTypes método.

using System;
using System.Reflection;

namespace ReflectionModule_Examples
{
    class MyMainClass
    {
        static void Main()
        {
            Module[] moduleArray;

            moduleArray = typeof(MyMainClass).Assembly.GetModules(false);

            // In a simple project with only one module, the module at index
            // 0 will be the module containing these classes.
            Module myModule = moduleArray[0];

            Type[] tArray;

            tArray = myModule.FindTypes(Module.FilterTypeName, "My*");

            foreach(Type t in tArray)
            {
                Console.WriteLine("Found a module beginning with My*: {0}.", t.Name);
            }
        }
    }

    class MySecondClass
    {
    }

    // This class does not fit the filter criteria My*.
    class YourClass
    {
    }
}

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: