0

我正在创建一个生态系统模拟器,其中物种可用于模拟各种疾病,我的问题是我开始使用 4 个物种,但如果我需要更多……我需要更多变量来存储,我的问题是,有什么办法吗通过反射让我在程序中执行事件期间创建动态变量?谢谢!我正在使用 Windows Presentation Foundation 和 C#

4

1 回答 1

3

处理这个问题的正常方法是为您的疾病物种创建一个基类,然后使用一个集合来保存它们:

public abstract class DiseaseBase
{
    public abstract void Spread();
}

public class Anthrax : DiseaseBase
{
    public override void Spread()
    {
        GetPostedToPolitician();
    }
}

public class BirdFlu : DiseaseBase
{
    public override void Spread()
    {
        Cluck();
        SneezeOnHuman();
    }
}

public class SwineFlu : DiseaseBase
{
    public override void Spread()
    {
        //roll in mud around other piggies
    }
}

public class ManFlu : DiseaseBase
{
    public override void Spread()
    {
        //this is not contagious
        //lie in bed and complain
        //get girlfriend to make chicken soup
        //serve chicken soup with beer and baseball/football/[A-Za-z0-9]+Ball
    }
}

public List<DiseaseBase> DiseaseCollection = new List<Disease>();

因此,所有内容都作为基类 (DiseaseBase) 存储在集合中,并且通过在基和/或接口中适当使用抽象方法,您始终可以将每个疾病实例作为基对象处理。

于 2013-08-08T22:44:54.990 回答