首页 > 其他分享 >实现一个wpf,winform下通用的Messenger类

实现一个wpf,winform下通用的Messenger类

时间:2023-02-08 13:25:15浏览次数:66  
标签:GC 对象 Messenger 引用 new wpf Data WeakReference winform

1 引言

WeakReference的说明:

程序在引用同时又可以被GC会受到就叫弱引用。常规的引用是强引用,GC不会回收对象。

 使用:假设一个类,名称为Data。

//短弱引用,常用
var wref=new WeakReference(new Data(),false);
//长弱引用
var myref=new WeakReference(new Data(),true);

对于short,对象被GC回收,Target变成null。

对于long,对象的Finalize方法调用后,长弱引用保留,对象状态未知,但是可以被重新创建。如果对象没有Finalize方法,则和短弱引用一样。

 

 

 

标签:GC,对象,Messenger,引用,new,wpf,Data,WeakReference,winform
From: https://www.cnblogs.com/noigel/p/17098543.html

相关文章

  • WinForm(十一)用户控件
    winform+api是一种对接数据模式,在本例中,为了方便,开发两个天生具有与后台api对接的用例控件,并且把他们封闭成单独控件,以供多次使用。提示:此实例不是生产使用,仅作演示......
  • WinForm(十二)画图
    在.NET中,画图主要是通过Graphics类实现的,这个类主要通过两类方法完成画图,一类是DrawXXX,画各种线条图形;另一类是FillXXX,用各种形状,填充各种图形。Graphics是画板,Draw各......
  • WinForm(十四)窗体滚动日志
    在桌面程序里,一般日志记录到文件里就可以了,但有的时间,也需要在窗体上动态滚动显示,这时,就需要引入日志框架了。这里引入的依旧是NLog(在我的MiniAPI系统里,用的也是NL......
  • WinForm(十五)窗体间通信
    在很多WinForm的程序中,会有客户端之间相互通信的需求,或服务端与客户端通信的需求,这时就要用到TCP/IP的功能。在.NET中,主要是通过Socket来完成的,下面的例子是通过一个Tcp......
  • WinForm(十五)窗体间通信
    在很多WinForm的程序中,会有客户端之间相互通信的需求,或服务端与客户端通信的需求,这时就要用到TCP/IP的功能。在.NET中,主要是通过Socket来完成的,下面的例子是通过一个Tc......
  • WinForm(十五)窗体间通信
    在很多WinForm的程序中,会有客户端之间相互通信的需求,或服务端与客户端通信的需求,这时就要用到TCP/IP的功能。在.NET中,主要是通过Socket来完成的,下面的例子是通过一个Tc......
  • WinForm(十三)WebView2
    WebView是WinForm框架中一个控件,用来对网页信息交互,有时Web自己开发的,有时Web是三方的。下面通过一个例子来看看WebView2的使用。首先看Web的逻辑,是一个商品......
  • WinForm(十三)WebView2
    WebView是WinForm框架中一个控件,用来对网页信息交互,有时Web自己开发的,有时Web是三方的。下面通过一个例子来看看WebView2的使用。首先看Web的逻辑,是一个商品......
  • WinForm(十四)窗体滚动日志
    在桌面程序里,一般日志记录到文件里就可以了,但有的时间,也需要在窗体上动态滚动显示,这时,就需要引入日志框架了。这里引入的依旧是NLog(在我的MiniAPI系统里,用的也是......
  • WinForm(十四)窗体滚动日志
    在桌面程序里,一般日志记录到文件里就可以了,但有的时间,也需要在窗体上动态滚动显示,这时,就需要引入日志框架了。这里引入的依旧是NLog(在我的MiniAPI系统里,用的也是......