有没有一种工具可以为现有类生成摘要并生成接口(interface)?

我知道Visual Studio将为现有类提取一个接口(interface)。但是,我也想生成一个实现该功能的包装器类。

我相信这将对单元测试有很大帮助。

现有类的示例:

public class ThirdPartyClass
{
   public void Method1(){}
   public void Method2(){}
}

这可以由Visual Studio(提取接口(interface))生成:
public interface IThirdPartyClass
{
   void Method1();
   void Method2();
}

我想更进一步:
public class ThirdPartyClassWrapper : IThirdPartyClass
{
   private tpc = new ThirdPartyClass();
   public void Method1()
   {
       tpc.Method1();
   }
   public void Method2()
   {
       tpc.Method2();
   }
}

更新:

这对于静态类特别有用。正如Morten所指出的,我只能使用 stub ,如果可能的话,我想破坏我的耦合。

最佳答案

找到了解决非密封类问题的方法。

1-从外部类继承

class MyWrapper : ExternalClass

2-所有公共(public)方法的提取接口(interface)
class MyWrapper : ExternalClass, IExternalClass

3-从外部类中删除继承
class MyWrapper : IExternalClass

4-您将从尚未实现的接口(interface)中获得有关成员的类名的提示。 Alt + Enter,让Resharper自动实现

5-使用此代码模板包装属性
    get { return $INNERCOMPONENT$.$NAME$; }
    set { $INNERCOMPONENT$.$NAME$ = value; }

6-使用此代码模板包装方法
return $INNERCOMPONENT$.$NAME$($SIGNATURE$);

关于c# - .NET工具: Extract Interface and Implement Wrapper Class,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5035188/

10-17 02:32