gpt4 book ai didi

c# - 是否可以创建分层枚举?

转载 作者:可可西里 更新时间:2023-11-01 08:07:59 26 4
gpt4 key购买 nike

我想创建一个分层枚举来表示我可以作为参数传递的类型。

数据结构如下:

enum Cars
{
Ford { Corsair, Cortina, Galaxy, GT },
Ferrari { Testarossa, California, Enzo },
...
}

我希望调用具有以下签名的函数:

public void BuildCar(Cars car);

像这样:

BuildCar(Cars.Ferrari.Enzo);

基本上,我想在类型中强制执行汽车/制造商关系。

最佳答案

我考虑过用扩展和/或 ICustomEnum 东西来回答这个问题。

然后我想 - 以下内容真的有那么糟糕吗? :-)

    enum Cars
{
Ford_Corsair,
Ford_Cortina,
Ford_Galaxy,
Ford_GT,

Ferrari_Testarossa,
Ferrari_California,
Ferrari_Enzo,
}

你的函数仍然是这样的:

public void BuildCar(Cars car);

你的电话看起来像:

BuildCar(Cars.Ferrari_Enzo);

关于c# - 是否可以创建分层枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12032309/

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