gpt4 book ai didi

c#:调试时公开,否则私有(private)

转载 作者:太空狗 更新时间:2023-10-29 20:49:38 26 4
gpt4 key购买 nike

有没有什么好的方法可以让函数在我使用 NUnit 进行测试时是公开的,而在其他情况下是私有(private)的?

不必生成大量无关代码也很好。

------------------------编辑-------------------- --

似乎解决方案分为 3 种类型:

  1. 不要做我想做的事。
  2. 使用编译器指令。
  3. 尝试一个聪明的解决方案(比如使用InternalsVisibleTo)。

有没有办法以编程方式执行此操作?即只需创建一个新的临时应用程序,使所有 protected/private/internal 函数成为 public,将其插入 NUnit,在那里运行测试,然后返回使用私有(private)发布版本的功能?

最佳答案

您可以使用 InternalsVisibleTo 让它们成为 internal<->public 而不是 private<->public

InternalsVisibleTo 是一个程序集属性,您可以在要使单元测试程序集可见的程序集中使用它。您必须签署单元测试程序集,因为 InternalsVisibleTo 属性依赖于调用程序集的公钥。

关于c#:调试时公开,否则私有(private),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5095030/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com