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

C# 是否可以将方法限制为仅在友好程序集中使用虚拟方法?,c#,.net,visual-studio,unit-testing,nunit,C#,.net,Visual Studio,Unit Testing,Nunit,对于单元测试,我希望能够将一个方法转换为仅用于特定程序集的虚拟方法,方式与 例如,如果我在assembly中有动物: public void methodDog() { } 我想把它假装成: public virtual void methodDog() { } …在组件内动物试验 我们如何将某些方法标记为仅在特定程序集访问时才使用虚拟方法而不使用AOP?据我所知,这是不可能的,但您可以考虑: 创建接口并在测试时实现,或 创建内部虚拟方法,该方法由公共方法调用并重写内部虚拟方法,例如: 虚

对于单元测试,我希望能够将一个方法转换为仅用于特定程序集的虚拟方法,方式与

例如,如果我在assembly中有动物:

public void methodDog()
{
}
我想把它假装成:

public virtual void methodDog()
{
}
…在组件内动物试验


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

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

  • 创建接口并在测试时实现,或

  • 创建内部虚拟方法,该方法由公共方法调用并重写内部虚拟方法,例如:



  • 虚拟课程?哈???@MatíasFidemraizer oops,我是说方法
    内部虚拟
    对你不起作用吗?据我所知,这是不可能的。也许考虑创建一个接口并在测试时实现它。或者,考虑创建一个<代码>内部虚拟方法,例如<代码>内部虚空隙方法DIONTIALL()/<代码>,这是由<代码>公共无效方法DOWER()/代码>调用的,并且在测试时重写<代码>内部虚空隙方法DOWE/<代码>。没有更多关于你实际情况的细节,很难给出建议。@AlexeiLevenkov ya neznaiu,你告诉我
    
    public void methodDog()
    {
        methodDogInternal();
    }
    
    internal virtual void methodDogInternal()
    {
    }