C#是否支持此功能?这是什么语法? 我希望这个属性的获取被密封(并不重要),并且这个集合是抽象的。 我尝试了以下代码(语法不正确)来理解这个想法。
public sealed Texture target
{
get { return texture; }
}
public abstract Texture target { set; }
和
public Texture target
{
sealed get { return texture; }
abstract set;
}
答案 0 :(得分:5)
我没有知道的语法来做到这一点,但你可以轻松地实现一个解决方法,从派生类的角度来看只会是丑陋的:
public abstract class Base
{
private string name;
public string Name
{
get { return name; }
set { SetName(value); }
}
protected abstract void SetName(string value);
}
另一方面,不清楚如何设置name
(或你的texture
),除非它变成受保护的字段(ick,IMO)。
您能否提供有关您要实现的目标的更多信息?可能有更好的方法。
答案 1 :(得分:1)
不支持。你能做的就是这样:
public Texture target
{
get { return texture; }
set { SetTarget(value); }
}
protected abstract SetTarget(Texture target);
答案 2 :(得分:0)
public abstract X GetXXX();
public sealed SetXXX(X x){...}