我对 C# 作为一种语言(来自 C++ 背景)相当陌生,我目前正在编写一个使用事件驱动 API 的应用程序。
这主要包括注册事件/响应处理程序和启动事件监视器,然后处理这些异步事件/响应。
我有点难以理解的是发送者对象的使用。
我想使用它的目的是在发出请求(或设置监视器)时将句柄传递给我拥有的具有各种结构和数据的类对象。然后在收到响应/引发事件时,我可以获取发送者对象,将其转换回预期的类类型并访问成员,进行进一步更改等,因此将其视为仍然是指向原始数据的指针(我希望会是这样吗?)。
所以我的问题真的是,当我在请求中传递一个类对象时,这将是一个有效的引用,还是会按值复制它,因为它实际上只是一个通用对象,我最终会得到一个事件中我的类对象的空副本?
或者第三个选项,我可能完全走错了路,应该忘记整件事?:)
问题是我的大脑仍然在指针模式下工作,我认为......