【发布时间】:2011-05-19 15:26:22
【问题描述】:
我有三个几乎执行相同的 C# 方法。更具体地说,有大量的代码重复,但最终它们执行不同的功能。
这显然是非常低效的,那么减少代码重复的最佳方法是什么?我应该将它们全部放在一种方法中并在最后使用开关和枚举来实现不同的功能吗?或者,是否有某种方式可以让您拥有 3 个单独的类并从另一个类继承共享位?我已经对此进行了相当多的阅读,据我所知,这仅用于从完全不同的类中获取属性。
【问题讨论】:
-
(我替换为“reuse” => “duplication”,因为它似乎更符合您的意思)
-
“我应该将它们全部放在一个方法中,并在最后使用开关和枚举来实现不同的功能吗?”请不要这样做!
-
你不会得到这个问题的有用答案,尝试发布一个包含 3 种方法的代码的问题,然后人们可能会帮助你。重构代码没有唯一的解决方案。
-
谢谢你,马克。 TokenMacGuy,您能否提供更多详细信息,说明为什么这是错误的?我以前有一个 int 参数来设置方法中的“模式”,但在一篇文章中建议我改用枚举。
标签: c# code-reuse