c# - 在派生类上强制实现属性

标签 c#

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

    }
}

最佳答案

这就是abstract用于:

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

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

关于c# - 在派生类上强制实现属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13571693/

相关文章:

c# - 将实际的十进制值作为属性的参数(例如 xUnit.net 的 [InlineData]

c# - 如何在 C# 中使用 PHP CLI

c# - MRZ Passport Parser C# 控制台应用程序

c# - .NET, ASHX, "Server cannot append header after HTTP headers have been sent"发送 PDF 流后

c# - 泛型 C# 的重载运算符

c# - 使用 HttpContext.Features.Get<IHttpConnectionFeature>()?.RemoteIpAddress 时获取 127.0.0.1

C# 编译为 CIL

c# - 在 C# 中对列表进行分组和求和

c# - 如何在链接按钮的 OnClientClick 中调用 java 脚本函数(在 .cs 中)?

javascript - 如何在WebMethod中接收非原始数据?