.NET:&;函数名语法
语法.NET:&;函数名语法,.net,delegates,c++-cli,.net,Delegates,C++ Cli,语法&function\u name是什么意思 例如,在委托中使用 System::ComponentModel::DoWorkEventHandler(this, &Form1::DoWorkEvent) 与BackgroundWorker对象的事件处理一起使用 委托原型是 public delegate void DoWorkEventHandler(Object^ sender, DoWorkEventArgs^ e) 这可能意味着&Form1::DoWorkEvent返回一个
&function\u name
是什么意思
例如,在委托中使用
System::ComponentModel::DoWorkEventHandler(this, &Form1::DoWorkEvent)
与BackgroundWorker
对象的事件处理一起使用
委托原型是
public delegate void DoWorkEventHandler(Object^ sender, DoWorkEventArgs^ e)
这可能意味着
&Form1::DoWorkEvent
返回一个DoWorkEventArgs
对象?但是这没有什么意义。 < p>我的C++是很生锈的,但我认为你根本看不到.NET,但是一个标准的C++成员函数指针。 <代码>系统::组件模型::DoWorkEventHandler(这个,and Fr1::DoOrkEvEvices)< /Cult>创建一个委托。创建委托的语法是gcnewdelegatename(thisObject,functionPointer)
。它创建一个委托,调用functionPointer
,将this
设置为thisObject
要调用委托,可以使用适当的参数调用它delegateVariable->Invoke(参数1、参数2等)
。在DoWorkEventHandler
的情况下,参数1
为发送方
,参数2
为e
你混淆了两个不同的东西,创造和调用。行DoWorkEventHandler(this,&Form1::DoWorkEvent)
创建一个委托。这两个参数是thisObject
和functionPointer
,而不是sender
和e
这应该包含在您最初用来了解学员的任何书籍/资源中。例如,他说
创建委托实例涉及调用构造函数。如果你
在封装静态函数时,传入一个参数
指向该成员函数的指针。对于实例函数,必须
传入两个参数:该实例的句柄,以及指向
实例成员函数
如果某个东西显然是关于c++/CLI特有的语法,为什么要标记它呢?这个概念似乎与c中的概念相似(至少快速浏览一下),所以我想我应该标记它以获得c程序员的输入。如果概念不同,我很抱歉。你问的是具体的语法,而不是基本概念。语法是不同的