Module.GetType 方法 (String, Boolean)

2013/12/13

返回指定的类型,并按指定的区分大小写搜索模块。

Namespace:  System.Reflection
程序集:  mscorlib(位于 mscorlib.dll 中)

public virtual Type GetType(
	string className,
	bool ignoreCase
)

参数

className
类型: System.String
要定位的类型的名称。该名称必须是用命名空间完全限定的。
ignoreCase
类型: System.Boolean
如果执行不区分大小写的搜索,则为 true;否则为 false

返回值

类型: System.Type
如果给定的类型在此模块中,则为该类型;否则为 null

异常条件
ArgumentNullException

classNamenull

TargetInvocationException

调用该类初始值设定项,并引发异常。

ArgumentException

className 是零长度字符串。

FileNotFoundException

className 需要一个无法找到的依赖程序集。

FileLoadException

className 需要一个已找到但无法加载的依赖程序集。

- 或 -

当前程序集被加载到只反射上下文中,className 需要一个未预先加载的依赖程序集。

BadImageFormatException

className 需要一个依赖程序集,但该文件不是一个有效的程序集。

- 或 -

className 需要一个针对高于当前加载版本的运行时版本编译的依赖程序集。

说明注意:

如果已将类型转发到另一个程序集,则该类型仍由此方法返回。

可使用 Module.GetType 从特定模块检索类型。对包含清单的模块调用 Module.GetType 将不会搜索整个程序集。若要从程序集检索类型,而不管该程序集所在的模块,则必须调用 Assembly.GetType

版本说明

Windows Phone

将空字符串作为 className 传送时,GetType 不会引发 ArgumentException。实际上,它返回 null

下面的示例在当前执行的模块中获取一个类型,指定大小写不正确的字符串,并为 ignoreCase 参数指定 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;

        myType = myModule.GetType("example", true);
        outputBlock.Text += String.Format("Found type: {0}\n", myType.ToString());
    }
}

/* This example produces output similar to the following:

Found type: Example
 */


Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

显示:
© 2014 Microsoft