情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Module.GetType メソッド (String, Boolean, Boolean)

2013/12/12

大文字小文字を区別したモジュール検索を実行するかどうか、および型が見つからない場合に例外をスローするかどうかを指定して、指定された型を返します。

Namespace:  System.Reflection
アセンブリ:  mscorlib (mscorlib.dll 内)

public virtual Type GetType(
	string className,
	bool throwOnError,
	bool ignoreCase
)

パラメーター

className
型: System.String
検索する型の名前。この名前は、名前空間を含む完全修飾名であることが必要です。
throwOnError
型: System.Boolean
型が見つからなかったときに例外をスローする場合は truenull を返す場合は false
ignoreCase
型: System.Boolean
検索時に大文字と小文字を区別しない場合は true。それ以外の場合は false

戻り値

型: System.Type
このモジュールで型が宣言されている場合は指定した型。それ以外の場合は null

例外条件
ArgumentNullException

classNamenull です。

TargetInvocationException

クラス初期化子が呼び出され、例外がスローされます。

ArgumentException

className は、長さ 0 の文字列です。

TypeLoadException

throwOnErrortrue で、型が見つかりません。

FileNotFoundException

className に必要な依存アセンブリが見つかりませんでした。

FileLoadException

className に必要な依存アセンブリは見つかりましたが、読み込むことができませんでした。

または

現在のアセンブリがリフレクションのみのコンテキストに読み込まれましたが、className に必要な依存アセンブリがプリロードされませんでした。

BadImageFormatException

className は依存アセンブリが必要ですが、ファイルが有効なアセンブリではありません。

または

className には、現在読み込まれているバージョンよりも新しいバージョンのランタイム用にコンパイルされた依存アセンブリが必要です。

throwOnError パラメーターは、型が見つからなかった場合の動作にのみ影響します。スローされる可能性のあるその他の例外には影響しません。特に、型が見つかっても読み込むことができない場合は、throwOnErrorfalse であっても TypeLoadException がスローされます。

メモメモ:

型は別のアセンブリに転送されても、このメソッドによって返されます。

型は、Module.GetType を使用して特定のモジュールから取得できます。マニフェストを含んでいるモジュールに対する Module.GetType の呼び出しによって、アセンブリ全体が検索されることはありません。どのモジュールに含まれているかに関係なく、アセンブリから型を取得するには、Assembly.GetType を呼び出す必要があります。

バージョンについてのメモ

Windows Phone

空の文字列が className として渡されると、GetTypeArgumentException をスローしません。代わりに、null が返されます。

現在実行しているモジュールに存在しない型を取得しようとする例を次に示します。throwOnError パラメーターが true であるため、例外がスローされます。

メモメモ:

この例を実行するには、「Windows Phone での静的 TextBlock コントロールのあるコード例のビルド」を参照してください。


using System;
using System.Reflection;

class Example
{
    public static void Demo(System.Windows.Controls.TextBlock outputBlock)
    {
        Module[] moduleArray;

        moduleArray = Assembly.GetExecutingAssembly().GetModules();

        Module myModule = moduleArray[0];

        Type myType;

        try
        {
            myType = myModule.GetType("UnknownType", true, false);
            outputBlock.Text += String.Format("Found type: {0}\n", myType.ToString());
        }
        catch (Exception ex)
        {
            outputBlock.Text += String.Format("Caught {0}: {1}\n", 
                                              ex.GetType().Name, 
                                              ex.Message);
        }
    }
}

/* This example produces output similar to the following:

Caught TypeLoadException: Could not load type 'UnknownType' from assembly 'SilverlightApplication, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
 */


Windows Phone OS

サポート: 8.0, 7.1, 7.0

表示: