属性的获取是抽象的,集合是虚拟的吗?

K. *_*iev 8 c# properties

我有这样一个基类:

public class Trajectory{
    public int Count { get; set; }
    public double Initial { get; set { Count = 1; } }
    public double Current { get; set { Count ++ ; } }
}
Run Code Online (Sandbox Code Playgroud)

所以,我在基类中有代码,这使得set-s成为虚拟,但是get-s必须保持抽象.所以我需要这样的东西:

...
public double Initial { abstract get; virtual set { Count = 1; } }
...
Run Code Online (Sandbox Code Playgroud)

但是这段代码会出错.重点是在基类中实现计数器功能,而不是在所有派生类中实现.那么,如何使用不同的修饰符来创建属性的get和set?

max*_*max 11

将其分为两个功能:

public double Initial
{
    get { return GetInitial(); }
    set { SetInitial(value); }
}

protected virtual void SetInitial(double value)
{
    Count = 1;
}

protected abstract double GetInitial();
Run Code Online (Sandbox Code Playgroud)