gpt4 book ai didi

c# - 是否可以将方法限制为仅在友好程序集中使用虚拟方法?

转载 作者:太空宇宙 更新时间:2023-11-03 23:19:36 24 4
gpt4 key购买 nike

对于单元测试,我希望能够以类似于 InternalsVisibleTo 的方式将方法转换为仅为特定程序集的虚拟方法.

例如,如果我在装配中有 Animals:

public void methodDog()
{
}

我想把它假装成:

public virtual void methodDog()
{
}

..在程序集内 AnimalsTests

我们如何在不使用 AOP 的情况下将某些方法标记为仅在特定程序集访问时才为虚拟方法?

最佳答案

据我所知这是不可能的,但你可以考虑:

  1. 创建接口(interface)并在测试时实现它,或者;

  2. 创建一个内部虚方法,由你的公共(public)方法调用并覆盖内部虚方法,例如:


public void methodDog()
{
methodDogInternal();
}

internal virtual void methodDogInternal()
{
}

关于c# - 是否可以将方法限制为仅在友好程序集中使用虚拟方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35874256/

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