我想访问.NET Framework的一些内部类,但使用反射不是非常易读,而且使用起来很有趣。
是否有人知道是否存在一个工具来自动生成这些内部类的包装类?
答案 0 :(得分:3)
嗯,Visual Studio可以围绕您自己的类生成包装器,以进行单元测试。这称为阴影类或阴影组件。这可以用于对框架类执行相同的操作。
有几个手动步骤:
首先,创建一个framework.accessor文件,它是一个纯文本文件,其中应包含您希望为其构建阴影的程序集的名称(您的项目也必须引用程序集)。例如:
System.dll
然后,手动编辑.csproj文件,并添加此项目组:
<ItemGroup>
<Shadow Include="framework.accessor" />
</ItemGroup>
构建项目。您现在可以使用生成的* _Accessor类访问内部类和私有方法。
这是关于这个主题的good blog post(从中我也得到了这个答案的大部分信息)。
请记住,使用库中的私有方法和类是不好的做法,但我认为你有理由。