So I was intregued as to the actual answer as I have always left it in. I guess one of the reasons why is that I think its good practice and hasn't caused me any problems. This plus Visual Studio puts it in when you override the function.
However, it looks like you should leave it in as when reflected this is what's implemented underneath:-
public virtual void ItemAttachmentAdded(SPItemEventProperties properties)
{
this.BaseItemEventReceiver(properties);
}
which calls into the function BaseItemEventReceiver(properties) which looks like this:-
private void BaseItemEventReceiver(SPItemEventProperties properties)
{
if (properties == null)
{
throw new ArgumentNullException("properties");
}
properties.Status = SPEventReceiverStatus.Continue;
}
I would suggest from the code in BaseItemEventReceiver()
that you should call the base class function first to validate the SPItemEventProperties object before going through your code.