c# – 属性的获取是否可以是抽象的并且集合是虚拟的?

前端之家收集整理的这篇文章主要介绍了c# – 属性的获取是否可以是抽象的并且集合是虚拟的?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这样一个基类:
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; } }
...

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

解决方法

将其分为两个功能
public double Initial
{
    get { return GetInitial(); }
    set { SetInitial(value); }
}

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

protected abstract double GetInitial();

猜你在找的C#相关文章