Take for example the following code:
public event EventHandler ExportDocument;
protected void OnExportDocument()
if(ExportDocument != null) ExportDocument(this, new
According to the conventions outlined in Microsoft design guidelines, all
events should also have an associated protected On***() method for each
event. This allows derived classes to gain access to the event pipeline.
R# reports that the above method can be made private. While this is
technically correct, its actually invalid from .NET convention perspective.
That method should only be made private if the class is sealed.