Module.FindTypes メソッド
アセンブリ: mscorlib (mscorlib.dll 内)

Public Overridable Function FindTypes ( _ filter As TypeFilter, _ filterCriteria As Object _ ) As Type()
Dim instance As Module Dim filter As TypeFilter Dim filterCriteria As Object Dim returnValue As Type() returnValue = instance.FindTypes(filter, filterCriteria)
戻り値
フィルタが受け入れたクラスを格納している Type 型の配列。


ReflectionTypeLoadException は特殊なクラス読み込み例外です。ReflectionTypeLoadException.Types プロパティは、モジュールで定義され、読み込まれたクラスの配列を格納します。この配列には null 値が含まれる場合があります。ReflectionTypeLoadException.LoaderExceptions プロパティは、クラス ローダーがスローした例外を表す例外の配列です。クラスの配列のすきまは、この例外に合わせて並べられます。
モジュールのクラスごとに、filter で指定されたデリゲートが、そのクラスを表す Type オブジェクトと指定した filterCriteria を渡されて呼び出されます。filter が特定のクラスを返した場合は、返される配列にそのクラスが格納されます。filter が null 参照 (Visual Basic では Nothing) を返した場合、すべてのクラスが返され、filterCriteria は無視されます。
FindTypes を使用して、配列などパラメータ化された型を検索することはできません。

Imports System Imports System.Reflection Namespace ReflectionModule_Examples Class MyMainClass Shared Sub Main() Dim moduleArray() As [Module] moduleArray = [Assembly].GetExecutingAssembly().GetModules(False) ' In a simple project with only one module, the module at index ' 0 will be the module containing these classes. Dim myModule As [Module] = moduleArray(0) Dim tArray() As Type tArray = myModule.FindTypes([Module].FilterTypeName, "My*") Dim t As Type For Each t In tArray Console.WriteLine("Found a module beginning with My*: {0}", t.Name) Next t End Sub 'Main End Class 'MyMainClass Class MySecondClass End Class 'MySecondClass ' This class does not fit the filter criteria My*. Class YourClass End Class 'YourClass End Namespace 'ReflectionModule_Examples
using System; using System.Reflection; namespace ReflectionModule_Examples { class MyMainClass { static void Main() { Module[] moduleArray; moduleArray = Assembly.GetExecutingAssembly().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 { } }
using namespace System; using namespace System::Reflection; using namespace System::Collections; public ref class MySecondClass{}; // This class does not fit the filter criterion My*. public ref class YourClass{}; int main() { array<Module^>^moduleArray; moduleArray = Assembly::GetExecutingAssembly()->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 ]; array<Type^>^tArray; tArray = myModule->FindTypes( Module::FilterTypeName, "My*" ); IEnumerator^ myEnum = tArray->GetEnumerator(); while ( myEnum->MoveNext() ) { Type^ t = safe_cast<Type^>(myEnum->Current); Console::WriteLine( "Found a module beginning with My*: {0}.", t->Name ); } }
package ReflectionModule_Examples; import System.*; import System.Reflection.*; class MyMainClass { public static void main(String[] args) { Module moduleArray[]; moduleArray = Assembly.GetExecutingAssembly().GetModules(false); // In a simple project with only one module, the module at index // 0 will be the module containing these classes. Module myModule = (Module)moduleArray.get_Item(0); Type tArray[]; tArray = myModule.FindTypes(Module.FilterTypeName, "My*"); for (int iCtr = 0; iCtr < tArray.length; iCtr++) { Type t = tArray[iCtr]; Console.WriteLine("Found a module beginning with My*: {0}." , t.get_Name()); } } //main } //MyMainClass class MySecondClass { } //MySecondClass // This class does not fit the filter criteria My*. class YourClass { } //YourClass

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- Module.FindTypes メソッドのページへのリンク