惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Security Blog
Microsoft Security Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
A
About on SuperTechFans
月光博客
月光博客
Jina AI
Jina AI
F
Fortinet All Blogs
博客园 - 聂微东
The Cloudflare Blog
美团技术团队
B
Blog RSS Feed
N
Netflix TechBlog - Medium
罗磊的独立博客
The GitHub Blog
The GitHub Blog
I
InfoQ
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Apple Machine Learning Research
Apple Machine Learning Research
H
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
The Blog of Author Tim Ferriss
MyScale Blog
MyScale Blog
博客园 - 三生石上(FineUI控件)
宝玉的分享
宝玉的分享
阮一峰的网络日志
阮一峰的网络日志
V
V2EX

博客园 - 生命体验之kevin-Y

windbg内存占用分析常用命令 如何让Trae IDE调用windbg来分析dump文件 Avalonia.Controls.DataGrid自动合并列 asp.net core如何实现Controller热更新 windbg无法分析dotnetframework3.5的dmp asp.net core通过配置决定AddSingleton的实现类 vscode指定python文件的执行程序 golang离线开发-windows-vscode go语言学习 - caddy配置的一些发现 go语言学习 - caddy添加nacos-gateway 学习jsp-使用IDEA2024社区版 ravendb源代码学习一:服务启动 修整程序集需要 .NET Core 3.0 或更高版本。 打开电脑后一直弹出“交互式检测服务”窗口 Idea2024-java-Maven开发配置 java.util.zip.DataFormatException: incorrect header check Build Secure Web Services With SOAP Headers and Extensions “System.Net.Http.HttpContent”不包含“ReadAsAsync”的定义 C#入门:如何合理制定方法参数-下 C#入门:如何合理制定方法参数-上 拷贝对象的开源工具类-FastMapper-TinyMapper-Mapster
C#获取事件绑定的方法
生命体验之kevin-Y · 2024-04-22 · via 博客园 - 生命体验之kevin-Y
public class MyEventArgs
{
}
public delegate void MyEventHandler(object sender,MyEventArgs args);
public
class MyControlClass:Control { public event MyEventHandler MyEvent; public Delegate[] GetEventDelegates() { if(MyEvent!=null) return MyEvent.GetInvocationList(); else return null; } }

在类中直接使用event的GetInvocationList方法即可。那能否我们自己的判断执行某一个绑定的方法呢?

Delegate current = delegates[i];
//..判断current.Method各个属性,如果调用
current.Method.Invoke(current.Target,new object[] { this,args } );

可能有人会问,为什么MyControlClass需要继承自Control,从本例子来说这不是必须的。但事件还是建议更多在界面控件上使用。

又或者说事件适合于两个线程的业务是比较分隔的对象。就是说事件内各个绑定的方法内的代码应该是一个比较完整逻辑代码。

对于复杂业务,某些人可能会使用事件绑定来影响主业务流程。但我建议直接调用不同逻辑类的方法。我们可以通用方法名与其参数,大概知道方法做了什么。而事件则完全隐藏了工作的内容,这不利于快速阅读和快速了解业务全貌。