Category: delegates

May 11 2010

Help understanding .NET delegates, events, and eventhandlers

In the last couple of days I asked a couple of questions about delegates HERE and HERE. I confess...I don't really understand delegates. And I REALLY REALLY REALLY want to understand and master them. (I can define them--type safe function pointers--but since I have little experience with C type languages it is not really helpful.)

Can anyone recommend some online resource(s) that will explain delegates in a way that presumes nothing?

This is one of those moments where I suspect that VB actually handicaps me because it does some wiring for me behind the scenes.

The ideal resource would just explain what delegates are, without reference to anything else like (events and eventhandlers), would show me how all everything is wired up, explain (as I just learned) that delegates are types and what makes them unique as a type (perhaps using a little ildasm magic)). That foundation would then expand to explain how delegates are related to events and eventhandlers which would need a pretty good explanation in there own right. Finally this resource could tie it all together using real examples and explain what wiring DOES happen automatically by the compiler, how to use them, etc. And, oh yeah, when you should and should not use delegates, in other words, downsides and alternatives to using delegates.

What say ye? Can any of you point me to resource(s) that can help me begin my journey to mastery?

EDIT One last thing. The ideal resource will explain how you can and cannot use delegates in an interface declaration. That is something that really tripped me up.

Thanks for your help.

Seth

May 11 2010

Help understanding .NET delegates, events, and eventhandlers

In the last couple of days I asked a couple of questions about delegates HERE and HERE. I confess...I don't really understand delegates. And I REALLY REALLY REALLY want to understand and master them. (I can define them--type safe function pointers--but since I have little experience with C type languages it is not really helpful.)

Can anyone recommend some online resource(s) that will explain delegates in a way that presumes nothing?

This is one of those moments where I suspect that VB actually handicaps me because it does some wiring for me behind the scenes.

The ideal resource would just explain what delegates are, without reference to anything else like (events and eventhandlers), would show me how all everything is wired up, explain (as I just learned) that delegates are types and what makes them unique as a type (perhaps using a little ildasm magic)). That foundation would then expand to explain how delegates are related to events and eventhandlers which would need a pretty good explanation in there own right. Finally this resource could tie it all together using real examples and explain what wiring DOES happen automatically by the compiler, how to use them, etc. And, oh yeah, when you should and should not use delegates, in other words, downsides and alternatives to using delegates.

What say ye? Can any of you point me to resource(s) that can help me begin my journey to mastery?

EDIT One last thing. The ideal resource will explain how you can and cannot use delegates in an interface declaration. That is something that really tripped me up.

Thanks for your help.

Seth

May 07 2010

How do you pass a generic delegate argument to a method in .NET 2.0

Hello,

I have a class with a delegate declaration as follows...

Public Class MyClass  
    Public Delegate Function Getter(Of TResult)() As TResult    

    ''#the following code works.
    Public Shared Sub MyMethod(ByVal g As Getter(Of Boolean))
        ''#do stuff
    End Sub
End Class

However, I do not want to explicitly type the Getter delegate in the Method call. Why can I not declare the parameter as follows...

... (ByVal g As Getter(Of TResult))

Is there a way to do it?

My end goal was to be able to set a delegate for property setters and getters in the called class. But my reading indicates you can't do that. So I put setter and getter methods in that class and then I want the calling class to set the delegate argument and then invoke. Is there a best practice for doing this.

I realize in the above example that I can set set the delegate variable from the calling class...but I am trying to create a singleton with tight encapsulation.

For the record, I can't use any of the new delegate types declared in .net35.

Answers in C# are welcome.

Any thoughts?

Seth

Jun 22 2009

Tweets made on 2009-06-22

Powered by Twitter Tools.

Jun 03 2009

Is it OK that I just posted my same answer to several related questions on Stack Overflow? [closed]

Hello, I have a Stack Overflow etiquette question. Several months ago I had a question that was not perfectly answered on Stack Overflow. Several weeks later I figured it out myself. I just posted my ANSWER to SEVERAL existing questions. Is that OKAY? In short, is it OKAY that I posted my ONE answer to several RELATED questions in StackOverflow? Or is that bad form? My reasoning is that it is a pretty good answer to a pretty common problem and I wanted to increase the surface area for the question. Thanks for your answer about SO.com etiquette. Seth