Module.FindTypes(TypeFilter, Object) Yöntem

Tanım

Verilen filtre ve filtre ölçütleri tarafından kabul edilen bir sınıf dizisi döndürür.

C#
public virtual Type[] FindTypes(System.Reflection.TypeFilter? filter, object? filterCriteria);
C#
public virtual Type[] FindTypes(System.Reflection.TypeFilter filter, object filterCriteria);

Parametreler

filter
TypeFilter

Sınıflara filtre uygulamak için kullanılan temsilci.

filterCriteria
Object

Sınıfları filtrelemek için kullanılan nesne.

Döndürülenler

Type[]

Filtre tarafından kabul edilen sınıfları içeren tür Type dizisi.

Özel durumlar

Modüldeki bir veya daha fazla sınıf yüklenemedi.

Örnekler

Aşağıdaki örnekte yöntemi gösterilmektedir FindTypes .

C#
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
    {
    }
}

Açıklamalar

ReflectionTypeLoadException özel bir sınıf yükü özel durumudur. özelliği, ReflectionTypeLoadException.Types modülde tanımlanan ve yüklenen sınıf dizisini içerir. Bu dizi bazı null değerler içerebilir. ReflectionTypeLoadException.LoaderExceptions özelliği, sınıf yükleyicisi tarafından oluşturulmuş özel durumları temsil eden bir özel durumlar dizisidir. Sınıf dizisindeki delikler özel durumlarla hizalı.

tarafından filter verilen temsilci modüldeki her sınıf için çağrılır Type ve hem sınıfı hem de verilen filterCriterianesnesini temsil eder. Belirli bir sınıf döndürürse filter , bu sınıf döndürülen diziye eklenir. döndürürse filternull, tüm sınıflar döndürülür ve filterCriteria yoksayılır.

FindTypes diziler gibi parametreli türleri aramak için kullanılamaz.

Şunlara uygulanır

Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.5, 1.6, 2.0, 2.1

Ayrıca bkz.