c# - 使用枚举是列出不同 "Types of Car"的最佳方式吗

标签 c# wpf class enums

我的汽车类中有一个名为 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.....elseswitch Hero 类中的语句 - 不同之处在于每种类型的英雄都有不同的类型。

关于c# - 使用枚举是列出不同 "Types of Car"的最佳方式吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1996439/

相关文章:

c# - 使用 OpenXML 2.5 将数据写入 docx 文档中的 TextInput 元素

c# Directory.CreateDirectory( path ),我应该先检查路径是否存在吗?

c# - 在项目 C# Windows 应用商店应用程序之外添加图像

wpf - 在wpf中更改按钮形状

c++ - 类在单独的文件中 C++

javascript - 单击 HTML 元素 A 并使用纯 JavaScript 在 B 上添加类

c# - 坐标时区

wpf - WPF DataTemplate和用户控件生存期

c# - 你必须使用命令来遵循 MVVM 模式吗?

c++ - python 类定义与 C++ 类定义