__raise keyword

Emphasizes the call site of an event.

Note

Event attributes in native C++ are incompatible with Standard C++. They don't compile when you specify /permissive- conformance mode.

Syntax

__raise method-declarator ;

Remarks

From managed code, an event can only be raised from within the class where it's defined. For more information, see event.

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

Note

A templated class or struct cannot contain events.

Example

// 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

Keywords
Event handling
__event
__hook
__unhook
Component extensions for .NET and UWP