合并两个类结构,每个类结构都依赖于复杂的继承 c#
本文关键字:结构 复杂 依赖于 继承 两个 合并 | 更新日期: 2023-09-27 18:00:34
我们有一个庞大的代码集,所以每个类的形式都是:
public class A :
DPM<Time, Data, TypeAKindA,
TypeAKindB, TypeAKindC,
TypeAKindC, TypeAkindD, TypeAKindE>
public class B:
DPM<Temp, Data, TypeBKindA,
TypeBKindB, TypeBKindB,
TypeBKindC, TypeBKindD, TypeBKindE>
因此Time
是特定的struct
例如,它与Temp
不同。
问题是,对于这些类中的每一个,我都有一个init
,constructor
,所以例如在 init 中,我正在特定于类名执行此操作。 即 A 关闭并为每个类做一些特定的事情。
这是一个庞大的代码集,所以我无法重构。我想将它们组合在一起,所以我有一个类称之为 C
,它基本上要么执行每个的功能,要么以某种方式合并它们。我无法更改类 DPM,这是一个复杂的结构,其中包含大量 where 子句。
它看起来像这样:
public abstract class DPM<TypeA, TypeB, TypeC, , ... > : ID
其中 ID 是一个接口。
该问题的一个例子是继承class DPM
具有一个名为 _xyz
的属性,该属性在.init()
中填充了不同的值,具体取决于它是从 Class A
调用还是从 Class B
调用。而且我不知道下游的依赖关系 - 所以稍后在代码中调用或使用的位置。
任何建议非常欢迎。
所以你不能重构,但你正在尝试重构它。您将需要重命名不同类型的任何通用属性。当然,这引出了一个问题,即您是否应该这样做。
我建议将其他类型链接到类定义只会让事情变得更糟。在这种情况下,您可以重构为通用接口。您是否考虑过在StackExchange的CodeReview网站上发布更详细的问题?