__raise

Emphasizes the call site of an event.

__raise method-declarator;

Remarks

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.

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

Concepts

Language Features for Targeting the CLR

Reference

C++ Keywords

Event Handling