1

我已经制作了 Graph 类,我想模拟一个分销网络。图表 100% 有效。但是,我想在我的所有应用程序中使用相同的结构/类!例如:我有显示模拟的 Form1,但我想插入节点(例如),但我想在 Form2 中进行!由于数据总是在同一个类中,我可以将我的 Graph 实例设为全局,但 C# 不采用全局变量。那么,我将如何解决这个问题?有任何想法吗?谢谢!

4

5 回答 5

5

做一个静态类。需要全局访问的变量,将它们放在该类中。

更好的想法是使用Singleton对象来表示全局可访问的对象。

于 2009-12-29T18:24:39.223 回答
4

在其构造函数中为表单提供对 Graph 的引用。

 Graph g = new Graph();
 Form1 f1 = new Form1(g);
 Form2 f2 = new Form2(g);

然后两种形式都使用相同的图表。

于 2009-12-29T18:23:48.663 回答
2

使您的 Graph 实例成为静态类的公共静态成员,并且出于所有实际目的,您拥有全局。

于 2009-12-29T18:24:22.063 回答
2

查看 Singleton 模式,了解一种可能的拥有公共对象的方法:

单例模式

于 2009-12-29T18:24:30.863 回答
0

C# 对此有静态字段。您可以将 SIngleton 模式与静态字段结合使用。但不要忘记,滥用应用程序范围的对象会降低您的设计。

于 2009-12-29T18:23:59.833 回答