我有一个这样的基类:
public class Trajectory{
public int Count { get; set; }
public double Initial { get; set { Count = 1; } }
public double Current { get; set { Count ++ ; } }
}
因此,我在基类中有代码,它使 set-s 成为虚拟的,但 get-s 必须保持抽象。所以我需要这样的东西:
...
public double Initial { abstract get; virtual set { Count = 1; } }
...
但是这段代码报错了。 重点是在基类中而不是在所有派生类中实现计数器功能。 那么,如何使用不同的修饰符来获取和设置属性?
最佳答案
将它分成两个函数:
public double Initial
{
get { return GetInitial(); }
set { SetInitial(value); }
}
protected virtual void SetInitial(double value)
{
Count = 1;
}
protected abstract double GetInitial();
关于c# - 一个属性的get可以是抽象的,而set是虚拟的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2985534/