代码拉取完成,页面将自动刷新
using System;
internal class WeakEventListener<TInstance, TSource, TEventArgs> where TInstance : class
{
private readonly WeakReference _weakInstance;
public Action<TInstance, TSource, TEventArgs> OnEventAction
{
get;
set;
}
public Action<WeakEventListener<TInstance, TSource, TEventArgs>> OnDetachAction
{
get;
set;
}
public WeakEventListener(TInstance instance)
{
if (instance == null)
{
throw new ArgumentNullException("instance");
}
this._weakInstance = new WeakReference(instance);
}
public void OnEvent(TSource source, TEventArgs eventArgs)
{
TInstance tInstance = (TInstance)((object)this._weakInstance.get_Target());
if (tInstance != null)
{
if (this.OnEventAction != null)
{
this.OnEventAction.Invoke(tInstance, source, eventArgs);
return;
}
}
else
{
this.Detach();
}
}
public void Detach()
{
if (this.OnDetachAction != null)
{
this.OnDetachAction.Invoke(this);
this.OnDetachAction = null;
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。