15

我有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
    {

    }
}
4

3 回答 3

36

这就是abstract

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

如果您想强制派生类自己实现属性,同时提供一些可重用的脚手架来帮助它们,请将脚手架公开为protected内部的成员Person

于 2012-11-26T19:28:19.613 回答
0

您可以创建Person一个接口(并且让它不暗示任何内容)或者您可以实现一个具有您的属性Person的自定义接口IPerson

于 2012-11-26T19:28:16.337 回答
0

您需要做的就是将方法声明为抽象,它会强制子类实现它。

于 2020-05-11T20:30:44.267 回答