gpt4 book ai didi

c# - 了解 C# 事件对发送者对象的使用

转载 作者:行者123 更新时间:2023-11-30 18:49:55 26 4
gpt4 key购买 nike

我对 C# 这门语言相当陌生(来自 C++ 背景),目前我正在编写一个使用事件驱动 API 的应用程序。

这主要包括注册事件/响应处理程序和启动事件监视器,然后处理这些异步事件/响应。

我有点难以理解的是发件人对象的使用。

我想使用它的目的是在发出请求(或设置监视器)时将句柄传递给我拥有的具有各种结构和数据的类对象。然后在收到响应/引发事件时,我可以获取发送者对象,将其转换回预期的类类型并访问成员,进行进一步的更改等,因此将其视为仍然是指向原始数据的指针(我希望它会是这样吗?)。

所以我的问题真的是,当我在我的请求中传递一个类对象时,这将是一个有效的引用,还是将它按值复制到某处,因为它实际上只是一个通用对象,我将结束在事件中生成我的类对象的空副本?

或者第三种选择,我可能完全走错了路,应该忘记整个事情? :)

问题是我的大脑仍在以指针模式工作,我认为...

最佳答案

这是一个引用。试试这段代码看看它是如何工作的:

private void textBox1_TextChanged(object sender, EventArgs e)
{
Whatever(sender);
}

private void Whatever(object sender)
{
TextBox tb = (TextBox)sender;
tb.Text = "yo";
}

如果 object 不是通过引用传递的,textBox1 将保留您在其中键入的任何文本。

关于c# - 了解 C# 事件对发送者对象的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1530867/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com