C# 派生类上的force属性实现

C# 派生类上的force属性实现,c#,C#,我有Person.cs,它将由Player类实现。 Person具有ExperienceLevel类型属性 我想强制从Person派生的所有类实现它们自己版本的ExperienceLevelType属性 public abstract Person { public enum ExperienceLevel { Kid, Teenager} public virtual ExperienceLevel Experience {get; set;} } public abstra

我有
Person.cs
,它将由
Player
类实现。
Person
具有
ExperienceLevel类型
属性

我想强制从
Person
派生的所有类实现它们自己版本的
ExperienceLevelType
属性

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

public abstract Player:Person
{
    public override ExperienceLevel Experience
    {

    }
}

您可以使
Person
成为一个接口(并且让它什么都不实现),或者您可以使
Person
实现一个自定义接口
IPerson
,它拥有您的属性

,这就是它的用途:


如果要强制派生类自己实现属性,同时提供一些可重用的支架来帮助它们,请将支架作为
受保护的
成员公开在
Person
中,您只需将方法声明为抽象,它强制子类实现它。

也许你可以将它声明为
抽象的
?太好了。您如何覆盖子类(玩家)中的体验属性?与您的虚拟属性相同。
public abstract class Person
{
    public enum ExperienceLevel { Kid, Teenager}
    public abstract ExperienceLevel Experience { get; set; }
}