我有一个类库,其中包含多个继承自单个基类的类。
基类中定义了一个虚方法Process,它将处理类结构的内容并将其传递给应用程序。
应用程序的不同组件(服务器)之间进行消息传递,它们传递和接收基类类型的消息,然后调用Process()方法。
我遇到的问题是需要在应用程序的其他部分中覆盖Process()方法,而不需要从另一个类型派生。根据我所读的,这似乎不可能,因此考虑使用接口是否可以解决该问题?
编辑:
我在问题中没有提到的是,基类的每个派生类都需要根据该类所需的功能具有不同的Process()实现。
例如:
基类中定义了一个虚方法Process,它将处理类结构的内容并将其传递给应用程序。
应用程序的不同组件(服务器)之间进行消息传递,它们传递和接收基类类型的消息,然后调用Process()方法。
我遇到的问题是需要在应用程序的其他部分中覆盖Process()方法,而不需要从另一个类型派生。根据我所读的,这似乎不可能,因此考虑使用接口是否可以解决该问题?
编辑:
我在问题中没有提到的是,基类的每个派生类都需要根据该类所需的功能具有不同的Process()实现。
例如:
class First : BaseClass
{
override void Process()
{
//do something
}
}
class Second : BaseClass
{
override void Process()
{
//do something else
}
}
由于这些代码会基于其所属的类参考其他外部来源,我不希望将此代码在整个应用程序中传播,因此重写过程方法中的代码需要位于不同的程序集中。
仅为澄清,如果需要,我可以访问并更改库类。
我已经进行了进一步阅读,似乎使用委托可以解决此问题..您有什么想法?