次の方法で共有


Module.FilterTypeNameIgnoreCase フィールド

このモジュールで定義されている型のリストを名前に基づいてフィルタ処理する TypeFilter オブジェクト。このフィールドは読み取り専用で、大文字小文字を区別しません。

Public Shared ReadOnly FilterTypeNameIgnoreCase As TypeFilter
[C#]
public static readonly TypeFilter FilterTypeNameIgnoreCase;
[C++]
public: static TypeFilter* FilterTypeNameIgnoreCase;
[JScript]
public static var FilterTypeNameIgnoreCase : TypeFilter;

解説

フィルタは、末尾の "*" ワイルドカードをサポートします。

使用例

[Visual Basic, C#, C++] 指定した検索条件 (大文字と小文字を区別しない) に一致するモジュール名を表示する例を次に示します。

 
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].FilterTypeNameIgnoreCase, "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

[C#] 
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.FilterTypeNameIgnoreCase, "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
    {
    }
}

[C++] 
#using <mscorlib.dll>

using namespace System;
using namespace System::Reflection;
using namespace System::Collections;

public __gc class MyMainClass
{
};

public __gc class MySecondClass
{
};

// This class does not fit the filter criteria my*.
public __gc class YourClass
{
};

int 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::FilterTypeNameIgnoreCase, S"my*");

   IEnumerator* myEnum = tArray->GetEnumerator();
   while (myEnum->MoveNext()) {
      Type* t = __try_cast<Type*>(myEnum->Current);
      Console::WriteLine(S"Found a module beginning with my*: {0}", t->Name);
   }
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

Module クラス | Module メンバ | System.Reflection 名前空間 | FindTypes