System.Type.ReflectionOnlyGetType 方法
方法描述
获取具有指定名称的 Type,指定是否执行区分大小写的搜索,以及在找不到类型时是否引发异常。 该类型只为反射加载,而不为执行加载。
语法定义(C# System.Type.ReflectionOnlyGetType 方法 的用法)
public static Type ReflectionOnlyGetType( string typeName, bool throwIfNotFound, bool ignoreCase )
参数/返回值
参数值/返回值 | 参数类型/返回类型 | 参数描述/返回描述 |
---|---|---|
typeName | System-String | 获取Type的程序集限定名称。 |
throwIfNotFound | System-Boolean | 如果为 true,则会在找不到该类型时引发 TypeLoadException;如果为 false,则在找不到该类型时返回 null。指定 false 还会消除其他一些异常情况,但不能全部消除。请参见“异常”一节。 |
ignoreCase | System-Boolean | 如果为 true,则执行不区分大小写的 typeName 搜索;如果为 false,则执行区分大小写的 typeName 搜索。 |
返回值 | System.Type | 具有指定名称的类型(如果找到的话);否则为 null。 如果未找到该类型,则 throwIfNotFound 参数指定是返回 null 还是引发异常。 某些情况下,无论 throwIfNotFound 的值是什么,都会引发异常。 请参见“异常”一节。 |
提示和注释
如果包含该类型的程序集尚未加载到仅反射上下文中,且该类型是程序集限定类型,则使用 ReflectionOnlyGetType 方法等效于首先使用 ReflectionOnlyLoad 方法仅为反射加载程序集,然后通过调用程序集的 Assembly.GetType 方法加载该类型。 有关程序集限定的名称的信息,请参见 Type.AssemblyQualifiedName 属性。 有关指定类型名称的其他详细信息,请参见 GetType(String, Boolean, Boolean) 方法重载。
如果程序集已为执行而加载,则另一个副本加载到仅反射上下文中。
throwIfNotFound 参数指定当找不到该类型时发生的事件,还取消某些其他异常条件(如"异常"部分所述)。 将引发某些异常,而不考虑 throwIfNotFound 的值。 例如,如果程序集无效,那么即使 throwIfNotFound 为 false,也将引发 BadImageFormatException。
有关使用仅反射上下文的更多信息,请参见如何:将程序集加载到仅反射上下文中。
System.Type.ReflectionOnlyGetType 方法例子
异常
异常 | 异常描述 |
---|---|
ArgumentNullException | typeName 为 null。 |
TargetInvocationException | 调用类初始值设定项并引发异常。 |
TypeLoadException |
|
ArgumentException |
|
FileNotFoundException | throwIfNotFound 为 true,并且未找到该程序集或其依赖项之一。 |
FileLoadException | 找到了该程序集或它的某个依赖项,但未能加载。 |
BadImageFormatException |
|
版本信息
.NET Framework 受以下版本支持:4、3.5、3.0、2.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1
适用平台
Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。