是否有一种简单的方法可以复制具有不同名称的类?
答案 0 :(得分:9)
不确定这是否可以被认为是最简单的方法,但是如果你有ReSharper,你可以使用它的Copy Type重构来复制类/接口/结构,同时控制副本着陆的命名空间in并在副本中命名 - 这意味着如果您要复制一个包含5个构造函数的类,则副本将重命名所有这些类以匹配新类的名称。
但是,根据您尝试实现的目标,使用Extract Interface或Extract Superclass可能是更好的选择。
答案 1 :(得分:7)
Ctrl+A
。Ctrl+C
。Ctrl+V
。Ctrl+H
)答案 2 :(得分:6)
不,没有用于复制类但具有不同名称的重构工具。
我认为这个功能不存在的原因是因为重复代码通常被认为是个坏主意。我建议改为将类更改为基类,然后从中创建两个派生类,覆盖需要更改行为的方法。
答案 3 :(得分:4)
重构一个新名称,复制,撤消,粘贴:-)记住撤消!这将重命名构造函数和终结器!
答案 4 :(得分:1)
复制并粘贴并为该课程命名一个新名称?
复制代码并为其赋予新的类名通常不是一个好主意。 看来你可能想要继承/接口吗?
如何创建基类,然后将该基类用于具有相同/接近相同功能的其他类。
答案 5 :(得分:1)
通常最好将您的类重构为可重用的。复制粘贴代码导致必须在多个位置修复相同的代码,并且因为违反OO原则而非常痛苦。
答案 6 :(得分:1)
首先:现在,带有用于VS(市场)的MS powertools的“复制类”选项
第二:对于所有了解程度更高的批评家-在某些情况下,您都希望复制课程作为起点。例如,我有一个基类,并从中派生出数十种具有不同实现的类,但我确实有一个从基类派生的“引用类”,其中已经包含上标,注释等。因此,我不必重复一遍又一遍。 这只是您要复制课程的众多情况之一。