Ada*_*obb 2 c# events pass-by-reference
我是C#作为一种语言(来自C++背景)的新手,我目前正在编写一个使用事件驱动API的应用程序.
主要包括注册事件/响应处理程序和启动事件监视器,然后处理这些异步事件/响应.
我理解有点麻烦的是使用发送者对象.
我想用它的方法是在发出请求(或设置监视器)时将句柄传递给我拥有各种结构和数据的类对象.然后在收到的响应/正在引发的事件中,我可以获取发送者对象,将其转换回预期的类类型并访问成员,进行进一步的更改等等,以便将其视为仍然是指向原始数据的指针(我希望它会是什么?).
所以我的问题确实是,因为我在我的请求中传递一个类对象,这将是一个有效的引用,还是将它按值逐行复制,因为它实际上只是一个通用对象,我最终会得到一个事件上我的类对象的空副本?
或者第三种选择,我可能完全在错误的轨道上,应该忘记整个事情?:)
问题是我的脑子仍然在指针模式工作我想...
Mus*_*sis 13
这是一个参考.试试这段代码,了解它是如何工作的:
private void textBox1_TextChanged(object sender, EventArgs e)
{
Whatever(sender);
}
private void Whatever(object sender)
{
TextBox tb = (TextBox)sender;
tb.Text = "yo";
}
Run Code Online (Sandbox Code Playgroud)
如果object没有通过引用传递,textBox1将保留您键入的任何文本.