.net 错误C3918:检查事件是否为nullptr时出错

.net 错误C3918:检查事件是否为nullptr时出错,.net,events,delegates,c++-cli,.net,Events,Delegates,C++ Cli,我的.h文件中有委托和事件 delegate void ResponseReceivedHandler(System::Object^ sender, WhoisEventArgs^ e); event ResponseReceivedHandler^ ResponseReceived; 在我的代码中的某个地方,我想检查事件是nullptr还是no,但当我编写 编辑: if (this->ResponseReceived != nullptr) { this->Resp

我的.h文件中有委托和事件

delegate void ResponseReceivedHandler(System::Object^ sender, WhoisEventArgs^ e);
event ResponseReceivedHandler^ ResponseReceived; 
在我的代码中的某个地方,我想检查事件是
nullptr
还是no,但当我编写

编辑:

if (this->ResponseReceived != nullptr)
{
     this->ResponseReceived(this, e);
}
发生错误

错误1错误C3918:使用要求 'VT::WhoisClient::WhoisRequest::ResponseReceived' 成为一个数据中心 成员c:\Users\ViToBrothers\Desktop\ViTo 项目\VT.WhoisClient\VT.WhoisClient\VT.WhoisRequest.cpp 50


我能做什么?

我相信在这种情况下,编译器正在为事件处理程序委托生成访问器函数和后备存储。因此,您不必检查null


<>参见这里:

你编写的代码看起来像C++,不是C++ + CLI。我从C语言中得到了例子,想改成C++。NET(如果这个。代码>这是一个指针。指针与
->
一起使用。你需要使用正确的C++语法,否则你会得到编译错误。对不起,我纠正了……文档解释了如何引发事件。