例如,我有一个将由Player类实现的Person.cs。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
{
}
}发布于 2012-11-27 03:28:20
这就是abstract的用途:
public abstract class Person
{
public enum ExperienceLevel { Kid, Teenager}
public abstract ExperienceLevel Experience { get; set; }
}如果您希望强制派生类实现属性本身,同时提供一些可重用的脚手架来帮助它们,请在Person中将脚手架公开为protected成员。
发布于 2012-11-27 03:28:16
您可以使Person成为一个接口(并且没有任何含义),或者您可以让Person实现一个具有您的属性的自定义接口IPerson
发布于 2020-05-12 04:30:44
您所需要做的就是将方法声明为抽象方法,它会强制子类实现它。
https://stackoverflow.com/questions/13571693
复制相似问题