我的汽车类中有一个名为 VehicleType 的属性。
使用枚举,我可以列出现有的不同类型的汽车,并且不允许硬写入任何其他类型。
问题是,如果我必须从其他地方获取属性,我将获取一个数字值,而不是我保存的字符串文字。
我应该在这里使用什么?
class Hero
{
public string faction;
public string name;
public string herotype;
enum HeroType
{
Agility,
Strength,
Intelligence,
}
}
最佳答案
你可以创建一个抽象基类
public abstract class BaseHero
{
public string faction;
public string name;
...... more properties
}
然后从中得出你的英雄:
public class AgilityHero : BaseHero
{
}
public class StrengthHero : BaseHero
{
}
public class IntelligenceHero : BaseHero
{
}
通用的东西将在基类中处理和编码,那些特定于实际英雄类中的英雄类型的东西。
使用这种 OO 方法,您可以避免编写、编码和维护大量的 if....then.....else
或 switch
Hero
类中的语句 - 不同之处在于每种类型的英雄都有不同的类型。
关于c# - 使用枚举是列出不同 "Types of Car"的最佳方式吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1996439/