Category: delegates

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