首页 > 解决方案 > 如何获取扩展类的静态成员

问题描述

我想覆盖operator+我的类冰箱和电视(以使其增加功耗),所以我让它们扩展了应该覆盖该运算符的 Rtv 类,但是POWER_CONSUMPTION如果冰箱和电视都有,我不知道如何获得正确的字段值不同的覆盖值。更准确地说,我希望实现这一点成为可能:

  Fridge fridge = new Fridge();
  Tv tv = new Tv();
  int totalPowerConsumptionOfFridgeAndTv = fridge + tv;

我对 Rtv 课程的想法是:

  class Rtv
{
    private const int pOWER_CONSUMPTION= 0;

    public static int POWER_CONSUMPTION=> pOWER_CONSUMPTION;

    public static int operator+ (Rtv a, Rtv b)
    { 
        return a.GetType().POWER_CONSUMPTION + b.POWER_CONSUMPTION;
    }
}

但根本行不通。

标签: c#inheritancestatic

解决方案


推荐阅读