Re: Consuming your own events.

Sébastien Lorion <[email protected]> Thu, 7 Feb 2008 13:15:37 -0500
Newsgroups gmane.comp.windows.devel.dotnet.clr
Message-ID <[email protected]>
In your proposed pattern:

protected virtual void RaiseSomethingChangedEvent(string paramName) {
SomethingChanged(this, new PropertyChangedEventArgs(paramName)); }

This introduces versionning issues and reduce flexibility (I cannot
use my own xxxEventArgs class derived from PropertyChangedEventArgs)
... I think both Raise and Handle methods should take an xxxEventArgs
argument.

Sébastien

On 2/7/08, Sebastien Lambla <[email protected]> wrote:
> I've written a more detailed review of the issues and proposed solution on
>  my blog, for those that are still interested in the subject.
>
>  http://serialseb.blogspot.com/2008/02/raising-event-without-checking-for-nul
>  l.html
>
>  (or when a URL goes bonkers because you change what you're talking about in
>  the middle of a post...)
>
>
>  --
>  SerialSeb
>  http://serialseb.blogspot.com
>
>
>  > -----Original Message-----
>  > From: Discussion of development on the .NET platform using any managed
>
> > language [mailto:[email protected]] On Behalf Of Daniel
>  > Petersson
>  > Sent: 01 February 2008 11:36
>
> > To: [email protected]
>  > Subject: Re: [DOTNET-CLR] Consuming your own events.
>  >
>  > sorry, SerialSeb
>  >
>  > but after reading through most of the comments on this thread, the
>  > article refered to by Peter Ritchie, I have to agree with Peter and
>  > some others.
>  >
>  > IMHO the On<TheEvent> model pattern/model defined by Microsoft is good-
>  > enough (and implemented consistently in the BCL) for simple event
>  > handling and that the introduction of a new version isn't justified.
>  > For more complex event cases I still argue that callback interfaces
>  > that reflect the complete protocol is the sustainable approach; (such
>  > cases could handle so many more aspects of event:ing that I'm note even
>  > sure that it should be called event:ing, it is more a message-passing
>  > system).
>  >
>  > regards,
>  >   Daniel
>  >
>  > ________________________________________
>  > From: Discussion of development on the .NET platform using any managed
>  > language [[email protected]] On Behalf Of Sebastien Lambla
>  > [[email protected]]
>  > Sent: Friday, February 01, 2008 9:35 AM
>  > To: [email protected]
>  > Subject: Re: [DOTNET-CLR] Consuming your own events.
>  >
>  > RaiseXxx / HandleXxx pattern, and explicit Before/After or Cancelable
>  > events
>  > when an event can or should be cancelled.
>  >
>  > I'm also objecting to the idea that all methods are non virtal by
>  > default
>  > but all event raising methods are virtual.
>  >
>  > --
>  > SerialSeb
>  > http://serialseb.blogspot.com
>  >
>  >
>  > > -----Original Message-----
>  > > From: Discussion of development on the .NET platform using any
>  > managed
>  > > language [mailto:[email protected]] On Behalf Of silky
>  > > Sent: 31 January 2008 23:52
>  > > To: [email protected]
>  > > Subject: Re: [DOTNET-CLR] Consuming your own events.
>  > >
>  > > On Feb 1, 2008 10:07 AM, Sebastien Lambla <[email protected]> wrote:
>  > > > Asp.net event handling hooking uses OnXxx=delegate... IE uses
>  > > onclick...
>  > > >
>  > > > Most of the developers I work with are using the OnXxx for handling
>  > > events
>  > > > because they're web devs and it makes sense to them...
>  > > >
>  > > > You raise interesting questions. But me worrying about how people
>  > use
>  > > my API
>  > > > and not having the right reaction when overriding a virtual is an
>  > > issue, and
>  > > > one that has caused quite a few long-running bugs over the year.
>  > > >
>  > > > If you need to rely on analysis tools for errors like those, I
>  > still
>  > > > consider that your contract wasn't strong enough.
>  > > >
>  > > > I think we've reached the point where I'm on my own in this quest,
>  > so
>  > > I'll
>  > > > leave it at that for now.
>  > >
>  > > Seb, I may have missed it in amongst all the posts; but what do you
>  > > propose instead of the "OnXXX" approach?
>  > >
>  > >
>  > > > --
>  > > > SerialSeb
>  > > > http://serialseb.blogspot.com
>  > >
>  > > --
>  > > http://lets.coozi.com.au/
>  > >
>  > > ===================================
>  > > This list is hosted by DevelopMentorR  http://www.develop.com
>  > >
>  > > View archives and manage your subscription(s) at
>  > > http://discuss.develop.com
>  >
>  > ===================================
>  > This list is hosted by DevelopMentor?  http://www.develop.com
>  >
>  > View archives and manage your subscription(s) at
>  > http://discuss.develop.com
>  >
>  > ===================================
>  > This list is hosted by DevelopMentor.  http://www.develop.com
>  >
>  > View archives and manage your subscription(s) at
>  > http://discuss.develop.com
>
>  ===================================
>  This list is hosted by DevelopMentor(R)  http://www.develop.com
>
>  View archives and manage your subscription(s) at http://discuss.develop.com
>


-- 
Sébastien
www.sebastienlorion.com

===================================
This list is hosted by DevelopMentor®  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com