加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在C#中的多个对象之间共享实例化的类

发布时间:2020-12-16 00:16:00 所属栏目:百科 来源:网络整理
导读:我目前有一个类,当我启动我的程序时,我实例化它.类本身将创建一个新线程并开始从路由器搜索广播. 我有其他窗口,其他窗口,然后MainWindow,需要能够访问存储在此类的实例中的数据.但是,我不确定其他窗口如何引用这些数据. 是否有其他方法可以存储此类的实例,以
我目前有一个类,当我启动我的程序时,我实例化它.类本身将创建一个新线程并开始从路由器搜索广播.

我有其他窗口,其他窗口,然后MainWindow,需要能够访问存储在此类的实例中的数据.但是,我不确定其他窗口如何引用这些数据.

是否有其他方法可以存储此类的实例,以便它可以在应用程序范围内访问?我需要它在应用程序的其余部分启动时才能正确启动,因此在第一个窗口中实例化类似乎是合乎逻辑的(对我而言).

namespace Lalu_WPF
{
    public partial class MainWindow : Window
    {
        // data storage for program
        public FindRouter finder = new FindRouter();

        public MainWindow()
        {
......

解决方法

不要制作单身人士(注意大写字母).它在多线程环境(muttable Singletons)中容易出错,并且不适合测试.

你有什么要求?

您是否必须在一个应用程序中拥有一个对象或在整个CLR中拥有一个对象?

我打赌第一个.

在App类(App.xaml.cs)中创建一个对象,然后通过getter访问它

App MyApplication = ((App)Application.Current);
MyApplication.Router;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读