继承自抽象class,使用带有私有变量的方法

Inheriting from abstract class, using methods with private variables

在简化版中,我有以下内容:

abstract class Days
{
  private readonly int _amount;

  protected virtual void UpdateAmount()
  {
    Proccess();
  }

  protected virtual void Process()
  {
    _amount += 1; 
  }
}

问题是我需要创建一个继承自 Days 的 class,我需要在其中更改 UpdateAmounts() 的功能,但仍使用 Process() 的相同功能。由于 Process 使用私有字段,是否可以不只是将 Process() 中的代码复制并粘贴到我的 child class 中来执行此操作?它不会让我使用 base.Process() 因为该方法引用了一个私有字段。

你将可以使用base.Process()因为它是protected,使用私有字段无所谓

class MyClass : Days
{    
    protected override void UpdateAmount()
    {
        base.Process();
    }
}

此代码有效