我有Person.cs,它将由Player.cs类实现。 Person具有ExperienceLevelType属性。
我想强制所有派生类实现它自己的ExperienceLevelType属性版本。
public abstract Person
{
public enum ExperienceLevel { Kid, Teenager}
public virtual ExperienceLevel Experience {get; set;}
}
public abstract Player:Person
{
public override ExperienceLevel Experience
{
}
}
答案 0 :(得分:25)
这就是abstract
的用途:
public abstract class Person
{
public enum ExperienceLevel { Kid, Teenager}
public abstract ExperienceLevel Experience { get; set; }
}
如果要强制派生类自己实现属性,同时提供一些可重用的脚手架来帮助它们,请将脚手架作为protected
内的Person
成员公开。
答案 1 :(得分:0)
你可以让Person
成为一个界面(并且没有任何暗示)或者你可以让Person
实现一个具有你的财产的自定义界面IPerson
答案 2 :(得分:0)
您需要做的就是将方法声明为抽象方法,它强制子类实现该方法。