[英]Sealed get, abstract set in C# properties
C#支持嗎? 這是什么語法? 我希望此屬性的獲取是密封的(並不重要),而此屬性的集合應該是抽象的。 我已經嘗試使用以下代碼(語法錯誤)來理解。
public sealed Texture target
{
get { return texture; }
}
public abstract Texture target { set; }
和
public Texture target
{
sealed get { return texture; }
abstract set;
}
我不知道這樣做的語法,但是您可以輕松實現一個變通方法,該變通方法僅從派生類的角度來看是丑陋的:
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)。
您能否提供有關您要實現的目標的更多信息? 可能有更好的方法。
不支持。 您可以做的是這樣的:
public Texture target
{
get { return texture; }
set { SetTarget(value); }
}
protected abstract SetTarget(Texture target);
public abstract X GetXXX();
public sealed SetXXX(X x){...}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.