gpt4 book ai didi

c# - 如何覆盖抽象类的属性?

转载 作者:太空宇宙 更新时间:2023-11-03 17:50:37 24 4
gpt4 key购买 nike

我有一个名为 CharacterBase 的抽象类。在里面,我有一些属性。例如:

public int Level { get; set; }

我有一个名为 Character 的类,它继承自 CharacterBase。我希望能够以某种方式覆盖 Level 属性并创建一个我自己的属性。例如:

int level;

public (override?) int Level
{
get
{
return level;
}
set
{
level = value;
Console.WriteLine("The new level is " + level + ".");
}
}

是否可以覆盖此属性并创建我自己的属性而不是抽象类的属性?

编辑:我将 Level 属性标记为虚拟。这是正确的方法吗?

最佳答案

要覆盖一个属性,它必须在基类中是虚拟的并且在派生类中具有覆盖:

class CharacterBase {
public virtual int Level {get;set;}
}

class Character : CharacterBase {
public override int Level { /* */ }
}

关于c# - 如何覆盖抽象类的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28983275/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com