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; }
}