KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
According to Microsoft event naming guidelines , the sender parameter in a C# event handler "is always of type object, even if it is possible to use a more specific type". This leads to lots of event handling code like: RepeaterItem item = sender as RepeaterItem; if (item != null) { /* Do some stuff */ } Why does the convention advise against declaring an event handler with a more specific type? MyType { public event MyEventHander MyEvent; } ... delegate void MyEventHander(MyType sender, MyEventArgs e); Am I missing a gotcha? For posterity: I agree with the general sentiment in the answers that the convention is to use object (and to pass data via the EventArgs ) even when it is possible to use a more specific type, and in real-world programming it is important to follow the convention. Edit: bait for search: RSPEC-3906 rule "Event Handlers should have the correct signature"
Tags (comma-separated)
Save Edits
Cancel