C#怎么通过反射取得已经加载的DLL中的静态变量
答案:1 悬赏:20
解决时间 2021-12-15 21:07
- 提问者网友:多余借口
- 2021-12-15 06:41
C#怎么通过反射取得已经加载的DLL中的静态变量
最佳答案
- 二级知识专家网友:颜值超标
- 2021-12-15 08:16
String path = @"xxx.dll";// 加载动态链接库路径
var DLL = System.Reflection.Assembly.LoadFile(path);
foreach (var item in DLL.GetExportedTypes()){
var type = Activator.CreateInstance(item);
// 绑定搜索范围为静态的,公共或非公共的。
var fields=type.GetType().GetFields(System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic);
foreach (var f in fields){
Console.WriteLine("Variable Name="+f.Name+"\t Data Type="+f.FieldType.Name+"\tValue="+f.GetValue(type));
}
}
var DLL = System.Reflection.Assembly.LoadFile(path);
foreach (var item in DLL.GetExportedTypes()){
var type = Activator.CreateInstance(item);
// 绑定搜索范围为静态的,公共或非公共的。
var fields=type.GetType().GetFields(System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic);
foreach (var f in fields){
Console.WriteLine("Variable Name="+f.Name+"\t Data Type="+f.FieldType.Name+"\tValue="+f.GetValue(type));
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯