首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >处理相似类并存储它们的最好方法?

处理相似类并存储它们的最好方法?
EN

Stack Overflow用户
提问于 2019-05-09 23:33:36
回答 2查看 142关注 0票数 1

我设法改变了设计,使用了List/Dictionary,它根据所选的键创建一个新的类实例。

我有一个问题,我试着自己解决,但我对我的解决方案不满意。让我们设置一个小示例:我有一个Farm类、一个Mill类和一个Bakery类。这些都是建筑物,我想把它们存储在一个列表中,显然我想在需要的时候管理它的元素。在这种情况下,这是一个服务器端代码,列表需要有一个球员的所有构建的列表,这样我就可以在他请求时发送给他该列表,例如,当它加入时。玩家可以建造一个农场来开始种植一些小麦,然后建立一个磨坊来开始粉碎它来制作面粉。然后他建了一个面包房来做一些面包或馅饼。以下是示例代码:

代码语言:javascript
复制
public class Program
{
    public List<> Buildings = new List<>() //Or whatever solution to store them
}

public class Farm
{
    public string Name;
    public int CropType;
    public float Timer;
}

public class Mill
{
    public string Name;
    public float Timer;
}

public class Bakery
{
    public string Name;
    public int ProductionType;
    public bool IsOpen;
    public float Timer;
}

我尝试过使用接口、抽象类和普通类来派生,但是我没有找到我的解决方案。

这是我的尝试:

代码语言:javascript
复制
public interface IBuilding
    {
        string ExposedName { get; set; }
        string ExposedDescription { get; set; }
    }

    public class Farm : IBuilding
    {
        public string Name { get { return Name; } set { Name = value; } }
        public string Description { get { return Description; } set { Description = value; } }
        public int Crop;
    }

    public class Mill : IBuilding
    {
        public string Name { get { return Name; } set { Name = value; } }
        public string Description { get { return Description; } set { Description = value; } }
        public float Timer;
    }

我希望能够访问列表中每个元素的每个变量,或者您向我推荐的任何解决方案,而无需使用性能不佳的代码。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56062959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档