我正在从程序集A加载程序集B.我正在尝试枚举位于程序集B中的类型的私有成员。
如何使用ReflectionPermission完成此任务?我在MSDN上找不到任何有用的东西。
Assembly asm = Assembly.LoadFrom("Chapter13.exe", AppDomain.CurrentDomain.Evidence);
//AppDomain.CurrentDomain.Load("Chapter13");
Type t = asm.GetType("Chapter13.ProtectedBuffer");
MemberInfo[] members = t.GetMembers(BindingFlags.NonPublic);
foreach (MemberInfo m in members)
{
Console.WriteLine(m.Name);
}
亲切的问候 PK
答案 0 :(得分:3)
除非您在部分信任环境中运行,否则您不需要ReflectionPermission
。我怀疑你的问题是你没有指定静态/实例。试试这个:
MemberInfo[] members = t.GetMembers(BindingFlags.NonPublic |
BindingFlags.Static |
BindingFlags.Instance);