System.Type.GetType 方法 (String, Func, Func, Boolean)
上一篇:System.Type.GetType(String,Func{AssemblyName,Assembly},Func{Assembly,String,Boolean,Type}) 方法
下一篇:System.Type.GetType(String,Func{AssemblyName,Assembly},Func{Assembly,String,Boolean,Type},Boolean,Boolean) 方法
方法描述
获取具有指定名称的类型,指定在找不到该类型时是否引发异常,(可选)提供自定义方法以解析程序集和该类型。
语法定义(C# System.Type.GetType 方法 (String, Func, Func, Boolean) 的用法)
public static Type GetType( string typeName, FuncassemblyResolver, Func typeResolver, bool throwOnError )
参数/返回值
参数值/返回值 | 参数类型/返回类型 | 参数描述/返回描述 |
---|---|---|
typeName | System-String | 要获取的类型的名称。如果提供了 typeResolver 参数,则类型名称可以为 typeResolver 能够解析的任何字符串。如果提供了 assemblyResolver 参数,或者使用了标准类型解析,则除非该类型位于当前正在执行的程序集或 Mscorlib.dll 中(在这种情况下足以提供其命名空间所限定的类型名称),否则 typeName 必须为程序集限定的名称(请参见 AssemblyQualifiedName)。 |
assemblyResolver | System-Func |
一个方法,它定位并返回 typeName 中指定的程序集。以 AssemblyName 对象形式传递给 assemblyResolver 的程序集名称。如果 typeName 不包含程序集的名称,则不调用 assemblyResolver。如果未提供 assemblyResolver,则执行标准程序集解析。警告 不要通过未知的或不受信任的调用方传递方法。此操作可能会导致恶意代码特权提升。仅使用您提供或者熟悉的方法。 |
typeResolver | System-Func |
一个方法,它在由 assemblyResolver 或标准程序集解析返回的程序集中定位并返回 typeName 所指定的类型。如果未提供任何程序集,则该方法可以提供一个程序集。该方法还采用一个参数以指定是否执行不区分大小写的搜索;false 传递给该参数。警告 不要通过未知的或不受信任的调用方传递方法。 |
throwOnError | System-Boolean | 如果为 true,则在找不到该类型时引发异常;如果为 false,则返回 null。指定 false 还会消除其他一些异常情况,但不能全部消除。请参见“异常”一节。 |
返回值 | System.Type | 具有指定名称的类型。 如果未找到该类型,则 throwOnError 参数指定是返回 null 还是引发异常。 某些情况下,无论 throwOnError 的值是什么,都会引发异常。 请参见“异常”一节。 |
提示和注释
在 GetType(String, Func
调用此方法重载等效于调用 GetType(String, Func
System.Type.GetType 方法 (String, Func, Func, Boolean)例子
异常
异常 | 异常描述 |
---|---|
ArgumentNullException | typeName 为 null。 |
TargetInvocationException | 调用类初始值设定项并引发异常。 |
TypeLoadException |
|
ArgumentException |
|
FileNotFoundException |
|
FileLoadException | 找到了该程序集或它的某个依赖项,但未能加载。 |
BadImageFormatException |
|
版本信息
.NET Framework 受以下版本支持:4 .NET Framework Client Profile 受以下版本支持:4
适用平台
Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。
相关资源
上一篇:System.Type.GetType(String,Func{AssemblyName,Assembly},Func{Assembly,String,Boolean,Type}) 方法
下一篇:System.Type.GetType(String,Func{AssemblyName,Assembly},Func{Assembly,String,Boolean,Type},Boolean,Boolean) 方法