In VB 2008, Action is a delegate type that can accept a variable number of typed arguments. Action(of T) is a delegate that accepts a single argument of type T. Since it returns "nothing", in VB.NET, it corresponds to a Sub that
accepts a single argument. A delegate is just a variable that refers to such a Sub. If that makes sense. Here's an overview of Delegates in VB.NET:
I know how to do this in C#, but I'm not a VB expert, so I cannot just whip out some VB.NET code for you. I know that it is possible to declare a delegate in VB2005 that connforms to that specification, though.
To declare an Action(Of T) in VB2005, try something like this:
Private Delegate Sub MyAction(ByVal arg As T)
Then, to use it, something like this:
Dim del As MyAction
del = New MyAction(AddressOf ActualNameOfSubroutineThatAcceptsOneArgOfTypeT)
But I don't know if that will make sense in the VB app you're writing.