Emphasizes the call site of an event.

__raise method-declarator;


From managed code, an event can only be raised from within the class where it is defined. See event (Visual C++) for more information.

The keyword __raise causes an error to be emitted if you call a non-event.


A templated class or struct cannot contain events.


// EventHandlingRef_raise.cpp
struct E {
   __event void func1();
   void func1(int) {}

   void func2() {}

   void b() {
      __raise func1();
      __raise func1(1);  // C3745: 'int Event::bar(int)': 
                         // only an event can be 'raised'
      __raise func2();   // C3745

int main() {
   E e;
   __raise e.func1();
   __raise e.func1(1);  // C3745
   __raise e.func2();   // C3745

See Also


C++ Keywords

Event Handling


Language Features for Targeting the CLR