首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将我的具体类重构为接口?

如何将我的具体类重构为接口?
EN

Stack Overflow用户
提问于 2015-01-08 16:13:01
回答 1查看 108关注 0票数 0

将以下C#代码重构为新接口的最佳方法是什么?

旧:

代码语言:javascript
复制
Aaaa MyMethod(Aaaa a) {
  Aaaa a2 = new Aaaa();
  return a2;
}

新的:

代码语言:javascript
复制
IAaaa MyMethod(IAaaa a) {
  IAaaa a2 = new Aaaa();
  return a2;
}

请注意,新的Aaaa()在替换后应该是相同的,并注意到我希望重构我的完整解决方案,而不仅仅是一个文件。

有工具吗?

我能够用VisualStudio提取类的接口。

我需要一个脚本/工具,如下所示:

  • 将"new ()“替换为”新A_SAVE_aaa()“
  • 将"Aaaa“改为"IAaaa”
  • 将“新的A_SAVE_aaa()”替换为“新的Aaaa()”
EN

回答 1

Stack Overflow用户

发布于 2022-10-24 01:12:42

我之所以在这里结束,是因为我在googled上搜索了“将具体类重构到一个接口”,想知道是否有人写过它。我对C++重构特别感兴趣,因为我尝试过的一种方法是创建接口,转换一些方法,并根据需要转换更多的方法。但是一种顺利的方式是,我将Aaaa改名为AaaaXXX,并使它继承了一个新的Aaaa接口。(在C++中,我现在必须声明所有的AaaaXXX方法“覆盖”)。代码中创建Aaaa的少数几个地方现在不得不创建一个AaaaXXX --我依靠编译器来找到它们。一旦编译、运行并通过了单元测试,就可以简单地将Aaaa重命名为IAaaa,将AaaaXXX重命名为Aaaa。对不起,不知道是否有任何工具,但是这种两步方法,特别是在不擅长重命名符号的C++中,似乎比一步更好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27844597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档