我在一个项目中有一系列类,它们基本上都做同样的事情,但在不同的对象上。由于其中一些是在不同的时间和不同的人编码的,因此在命名上存在一些不一致。我想以一种不仅在当前对象中而且在将来创建的新对象中强制保持某种一致性的方式更新我的代码。我对编程的理解使我相信我需要一个基类或一个接口,但我不知道如何让它们工作。我想要的方法是:
internal BusinessObject MethodA(EntityObject entity)
internal Void MethodB(EntityContext context, BusinessObject obj, EntityObject entity)
我遇到的问题是,在每个类中,“BusinessObject”和“EntityObject”都会有所不同,例如,在一个类中可能是“CarObject 和 CarEntity”,在另一个类中可能是“BusObject 和 BusEntity”。我仍然想要这两个方法,我仍然希望它们命名为 MethodA 和 MethodB 我只是想在实现中换出实际的对象类型。实现本身会有所不同,因为它们使用不同的对象。
我在编译时知道对象类型,并且需要能够访问对象的属性,所以如果使用泛型,我需要将泛型转换为实现中的正确类型。此外,MethodA 的实现需要创建一个“新的”BusinessObject,即“BusinessObject x = new BusinessObject()”,如果这有什么不同的话。
我尝试在方法中使用带有泛型的接口以及带有抽象方法的基类,但我无法弄清楚如何让它们工作。
处理这个问题的最佳方法是什么?示例代码将不胜感激。