Are there any reason why you should not declare an event backing field protected? For example to prevent having to create OnSomeEvent methods for all your events. For example like this:
protected SomeEventHandler someEvent;
readonly object someEventLock = new object();
public event SomeEventHandler SomeEvent
{
add
{
lock (someEventLock)
someEvent += value;
}
remove
{
lock (someEventLock)
someEvent -= value;
}
}
Of course the decending classes would have to remember to lock when raising the event, etc., but anyways.
Any reasons why this should not be done?