共用方式為


編譯器錯誤 C3731

不相容的事件 'function1' 和處理程式 'function2';事件來源和事件處理程式的類型必須相同

事件來源和事件接收者必須有相同的類型 (例如 native 類型對 com 類型)。 若要修正此錯誤,請讓事件來源的類型和事件處理程式相符。

下列範例會產生 C3731:

// C3731.cpp
// compile with: /clr
#using <mscorlib.dll>
[event_source(native)]
struct A {
   __event void MyEvent();
};

[event_receiver(managed)]
// try the following line instead
// [event_receiver(native)]
struct B {
   void func();
   B(A a) {
      __hook(&A::MyEvent, &a, &B::func);   // C3731
   }
};

int main() {
}