C#中静态事件的负面影响不良做法

C#中静态事件的负面影响不良做法,第1张

概述当我创建将在应用程序的不同区域中使用的事件时,我会重复使用下面的代码.我觉得它非常有用,它使事件很容易在代码中遵循.有什么理由说这可能是一个坏主意吗?这有点宽泛,但基本上有理由不这样做吗? 活动课程: public delegate void FocusEventHandler(object source, FocusEventArgs e);class FocusEvent{ pu 当我创建将在应用程序的不同区域中使用的事件时,我会重复使用下面的代码.我觉得它非常有用,它使事件很容易在代码中遵循.有什么理由说这可能是一个坏主意吗?这有点宽泛,但基本上有理由不这样做吗?

活动课程:

public delegate voID FocusEventHandler(object source,FocusEventArgs e);class FocusEvent{    public static event FocusEventHandler focusEvent;    public static voID Focus(bool status)    {        focusEvent(null,new FocusEventArgs(status));    }}public class FocusEventArgs : EventArgs{    public bool Focused { get; set; }    public FocusEventArgs(bool f)    {        Focused = f;    }}

所以我需要的是:

FocusEvent.Focus(false);

多谢你们.这有很大帮助.我真的需要阅读内存使用情况.

解决方法 静态事件的最大问题是您需要非常小心取消订阅它们.对于实例事件,如果您没有取消订阅,那么您可能最终会将图形的一部分人为地保留,直到具有该事件的对象被释放并且无法访问(使所有订阅者无法访问) – 但是,静态事件永远不会变得无法访问.这意味着任何未取消订阅的订阅者将永远无法访问,并且永远不会被垃圾回收. 总结

以上是内存溢出为你收集整理的C#中静态事件的负面影响/不良做法全部内容,希望文章能够帮你解决C#中静态事件的负面影响/不良做法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1223751.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存