zoukankan
html css js c++ java
根据typeName获取Type较为完备的办法
前年还在开发.NET产品,我那时候编写一个C#脚本解释引擎,遇到一个问题是,Type.GetType()方法无法获取尚未装载类型。这些天,在阅读一些相关的代码时,得知了一种较为完整的方法,共享如下:
internal
static
Type FindTypeInCurrentDomain(
string
typeName)
{
Type type
=
null
;
//
如果该类型已经装载
type
=
Type.GetType(typeName);
if
(type
!=
null
)
{
return
type;
}
//
在EntryAssembly中查找
if
(Assembly.GetEntryAssembly()
!=
null
)
{
type
=
Assembly.GetEntryAssembly().GetType(typeName);
if
(type
!=
null
)
{
return
type;
}
}
//
在CurrentDomain的所有Assembly中查找
Assembly[] assemblyArray
=
AppDomain.CurrentDomain.GetAssemblies();
int
assemblyArrayLength
=
assemblyArray.Length;
for
(
int
i
=
0
; i
<
assemblyArrayLength;
++
i)
{
type
=
assemblyArray[i].GetType(typeName);
if
(type
!=
null
)
{
return
type;
}
}
for
(
int
i
=
0
; (i
<
assemblyArrayLength);
++
i)
{
Type[] typeArray
=
assemblyArray[i].GetTypes();
int
typeArrayLength
=
typeArray.Length;
for
(
int
j
=
0
; j
<
typeArrayLength;
++
j)
{
if
(typeArray[j].Name.Equals(typeName))
{
return
typeArray[j];
}
}
}
return
type;
}
查看全文
相关阅读:
mySQL安装的时候一直卡在starting server这里解决办法
编译安装nginx
用户访问网站原理及流程
mysql备份及恢复
sed
mysql 基础
nginx优化
mysql 三种日志
tr
date
原文地址:https://www.cnblogs.com/jobs/p/22200.html
最新文章
INFA Transformation组件
(转)informatica 面试题大全
BIEE总结
SQL递归查询(with cte as)
logback快速入门
Hibernate快速入门
Spring快速入门
Struts快速入门
RESTful快速入门
JSP快速入门
热门文章
Servlet快速入门
JavaScript快速入门
Emmet快速入门
CSS快速入门
element-ui 表格标题换行
CSS 兼容iPhone X、iPhone XS及iPhone XR
pix2code开发笔记
git改密码出现授权问题
vue.js使用axios
vuetify.js框架 下拉框数据改变DOM原数据未清除
Copyright © 2011-2022 走看看