c# - 我可以创建一个 "global"对象来存储多个对象的变量吗?

标签 c# inheritance persistent

我正在创建一个图形应用程序,它将显示多个图表。这些图表需要访问一些全局数据和一些特定于图表的数据。例如,我希望颜色一致,这样就可以是全局的,但特定的图形可以有不同的网格间距(每个图形)。

我创建了一个具有默认设置的“主对象”和一个具有每个图形配置选项的派生对象

class GraphMasterObject {
  public Color gridcolor = Color.Red;
}

class GraphObject : GraphMasterObject {
  public int gridSpacing = 10;
}

现在,根据我的理解,我应该能够做到这一点

GraphObject go = new GraphObject();
Color c = go.gridColor;

如何才能使 go.gridColor 更改后,从 GraphMasterObject 继承的所有对象都会发生更改?这可能吗?如果没有,还有哪些其他可能的解决方案?类似的东西

GraphMasterObject gmo = new GraphMasterObject();
gmo.gridColor = Color.Blue;

GraphObject go = new GraphObject();
go.gridColor = Color.Blue;

最佳答案

为什么要使用继承?为什么不只拥有一个 GlobalGraphSettings 对象并将其传递给所有 Graph 对象,那么您就可以这样做

MyColor = Graph.GlobalSettings.Color;

关于c# - 我可以创建一个 "global"对象来存储多个对象的变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13355150/

相关文章:

c - Web 服务器 HTTP1.1 上的持久连接

c# - 为 Web 服务生成动态 XML 的最佳方法是什么?

c# - 将查询检索为字节数组

c++ - 基类对象赋值给派生类对象

Ruby:继承使用类变量的代码

cookies - 经典 ASP 中的持久性 Cookie

c# - 将两个可观察的集合组合到一个列表框?

c# - 在隔离存储中存储对象

entity-framework - EF6 中是否修复了 TPT 继承的性能问题?

haskell - 如何将枚举 ADT 存储在 Persistent 中