Hi there, Python has no built-in way of doing this. You may consider writing your own class if you like this pattern (I personally do):
class Event(object): def __init__(self): self.subscribers = set() def __iadd__(self, subscriber): self.subscribers.add(subscriber) return self def __isub__(self, subscriber): self.subscribers.pop(subscriber) return self def __call__(self, *args, **kwargs): for subscriber in self.subscribers: subscriber(*args, **kwargs) def HandleFoo(strng): print "HandleFoo:", strng OnFoo = Event() OnFoo += HandleFoo OnFoo("Test.") On 29/07/07, Gianmaria <[EMAIL PROTECTED]> wrote: > Hi, > i'm a .net programmer and i'm learnig python, so this question can be very > stupid or easy for python programmers. I've a doubt about events.... here is > what: > > in c# for example i can write a delegate and an event in this way... > > public delegate SomethingChangedHandler(string message); > public event SomethingChangedHandler SomethingChanged; > > and later in the code fire this event in this way... > > if(SomethingChanged != null) > { > SomethingChanged("Nothing important"); > } > > and the subscription of this event of other objects can be easy as > > eventGeneratorObject.SomethingChanged += new > SomethingChangedHandler(aFunctionto_takecareof_it); > > and even the handlig of the event is aesy... > > void aFunctionto_takecareof_it(string msg) > { > > } > > > ....now the question is.. how can i do the same using Python? Every help is > appreciated > > > > > > Regards, > Gianmaria > > -- > http://mail.python.org/mailman/listinfo/python-list > -- http://mail.python.org/mailman/listinfo/python-list