我想访问.NET框架的一些内部类,但是使用反射的可读性和趣味性都不是很好。
somenone是否知道是否有工具可以围绕这些内部类自动生成包装器类?
发布于 2009-07-08 17:27:12
嗯,Visual Studio可以为您自己的类生成用于单元测试的包装器。这称为影子类或影子程序集。这可以用来为框架类做同样的事情。
有几个手动步骤:
首先,创建一个framework.accessor文件,它是一个纯文本文件,其中应该包含您希望为其构建阴影的程序集的名称(您的项目也必须引用这些程序集)。例如:
System.dll然后,手动编辑.csproj文件,并添加此项目组:
<ItemGroup>
<Shadow Include="framework.accessor" />
</ItemGroup>构建项目。现在,您将能够使用生成的*_Accessor类访问内部类和私有方法。
这是一个关于这个主题的good blog post (我也从它获得了这个答案的大部分信息)。
请记住,使用库中的私有方法和类是不好的做法,但我假设您有自己的原因。
https://stackoverflow.com/questions/1099381
复制相似问题