仍在尝试了解 C#(主要使用 C)。我有一个“Device”类,并且想要创建该类的实例,但也希望全局访问这些实例,因为我在 GUI 方法中经常使用它们。
public class Device
{
public string Name;
public List<string> models = new List<string>();
public List<string> revisions = new List<string>();
...
}
以某种方式在全球范围内声明这一点:
Device Device1 = new Device();
Device1.Name = "Device1";
然后稍后在 WPF 方法中访问它:
private void DeviceViewItem_Selected(object sender, RoutedEventArgs e)
{
TreeViewItem selected = (TreeViewItem)sender;
if (selected.Name == Device1.Name)
{
Device1.Models.Add("something");
Device1.Revisions.Add("something");
}
我一直在阅读有关单例模式的内容,但看起来您必须创建一个单例类,但我的“设备”类被多次使用来创建许多设备。也许我只是不太理解这个模式。
创建一个新实例并将其分配给static属性或字段:
public class AnyClass
{
public static readonly Device ThisFieldCanBeReachedFromAnywhere = new Device();
}
请注意,类 AnyClass 不必是静态的(但这意味着所有成员must是静态的)。
另请注意,readonly 关键字不是必需的,这只是单例的良好实践(就像马克在评论中建议的那样)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)