remove (C# Reference)
The remove contextual keyword is used to define a custom event accessor that is invoked when client code unsubscribes from your event. If you supply a custom remove accessor, you must also supply an add accessor.
The following example shows an event with custom add and remove accessors. For the full example, see How to: Implement Interface Events (C# Programming Guide).
You do not typically need to provide your own custom event accessors. The accessors that are automatically generated by the compiler when you declare an event are sufficient for most scenarios.