我目前正在使用nopCommerce源代码,尽最大努力避免直接编辑源代码,而是使用与源代码分离的部分类和插件来实现更改,以便在需要升级版本时进行。
我想通过在同一程序集中使用部分类来对下订单的代码进行一些更改:
原始源代码:
namespace Nop.Services.Orders {
public partial class OrderProcessingService : IOrderProcessingService {
public virtual PlaceOrderResult PlaceOrder(ProcessPaymentRequest processPaymentRequest)
{ //....
我的部分类:
namespace Nop.Services.Orders {
public partial class OrderProcessingService : IOrderProcessingService {
public override PlaceOrderResult PlaceOrder(ProcessPaymentRequest processPaymentRequest) { //....
当我尝试编译此代码时,会出现以下错误:
类型“Nop.Services.Orders.OrderProcessingService”已经定义了一个与参数类型相同的成员“PlaceOrder”
但是我正在使用override
,原始类中的方法是virtual
的,有人能告诉我我在哪里做错了吗?如何覆盖这个方法?
override
和virtual
用于继承,而partial
类不被视为继承。 - Matthewpartial
类与自动生成的代码一起使用。为了override
方法PlaceOrder
,您需要创建一个继承OrderProcessingService
的类。 - Matthew