有没有一种工具可以为现有类生成摘要并生成接口(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/