gpt4 book ai didi

c# - 赋予枚举静态属性

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

我最初使用枚举编写我的解决方案:

enum Speicies {
monosiga,
leidyi,
queelslandica,
hydra
};

但后来我想为每个枚举选项添加常量属性。即

Speicies myOrganism = monosiga;
Console.writeLine(myOrganism.database);
Console.writeLine(myOrganism.class);
//Output:
// c:\monosigadb.fasta
// Choanoflagellatea

这意味着我应该使用一个静态类,我可以在其中使用数据库文字和每个物种的类变量。

但是,我想保留拥有 Species 对象的能力。

这种“高级枚举”的方法是什么?

最佳答案

这是我的意思:

class Program
{
static void Main(string[] args)
{
List<ISpecies> species = new List<ISpecies>();
species.Add(new Cat());
species.Add(new Dog());

foreach (var specie in species)
{
Console.WriteLine(specie.ClassProp);
Console.WriteLine(specie.DatabaseProp);
}

Console.Read();
}

public interface ISpecies
{
string ClassProp { get; }
string DatabaseProp { get; }
}

public class Cat : ISpecies
{
public string ClassProp { get { return "Cat Class Property"; } }
public string DatabaseProp { get { return "Cat Database Propery"; } }
}

public class Dog : ISpecies
{
public string ClassProp { get { return "Dog Class Property"; } }
public string DatabaseProp { get { return "Dog Database Propery"; } }
}
}

关于c# - 赋予枚举静态属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25495660/

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