代码之家  ›  专栏  ›  技术社区  ›  Nicolas Dorier

有没有一个工具可以自动生成类周围的包装器?

  •  3
  • Nicolas Dorier  · 技术社区  · 17 年前

    我想访问.NET框架的一些内部类,但是使用反射并不是很可读,而且使用起来很有趣。

    是否有人知道是否存在一个工具可以围绕这些内部类自动生成包装类?

    1 回复  |  直到 14 年前
        1
  •  3
  •   Scott Wegner    14 年前

    好吧,Visual Studio可以为单元测试的目的在您自己的类周围生成包装器。这称为阴影类或阴影程序集。这可以用于对框架类执行相同的操作。

    有几个手动步骤:

    首先,创建一个framework.accessor文件,它是一个纯文本文件,应该包含要为其生成阴影的程序集的名称(您的项目也必须引用这些程序集)。例如:

    System.dll
    

    然后,手动编辑.csproj文件,并添加此项组:

    <ItemGroup>
        <Shadow Include="framework.accessor" />
    </ItemGroup>
    

    建立项目。现在,您将能够使用生成的访问器类访问内部类和私有方法。

    这里是一个 good blog post 关于这个问题(我也从中得到了这个答案的大部分信息)。

    请记住,使用来自库的私有方法和类是不好的做法,但我认为您有自己的理由。

    推荐文章