我有这样一个基类:
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)