簡體   English   中英

在派生類上強制實現屬性

[英]force property implementation on derived classes

我有Person.cs ,它將由例如Player類實現。 Person具有ExperienceLevelType屬性。

我想強制所有派生自Person類實現它們自己的ExperienceLevelType屬性版本。

public abstract Person
{
    public enum ExperienceLevel { Kid, Teenager}
    public virtual ExperienceLevel Experience {get; set;}
}

public abstract Player:Person
{
    public override ExperienceLevel Experience
    {

    }
}

這就是abstract的用途:

public abstract class Person
{
    public enum ExperienceLevel { Kid, Teenager}
    public abstract ExperienceLevel Experience { get; set; }
}

如果您想強制派生類自己實現屬性,同時提供一些可重用的腳手架來幫助它們,請將腳手架公開為Person內部的protected成員。

您可以使Person成為一個接口(並且沒有任何IPerson ),或者您可以使Person實現一個具有您屬性的自定義接口IPerson

您需要做的就是將方法聲明為抽象方法,它會強制子類實現它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM