Question: I have some code like:

```
Lookup(Of String)("Testing")
Lookup(Of Integer)("Testing")

```

And both of those Lookups work great. What I'm trying to is call the appropriate LookUp based on the type of another variable. Something that would look like...

```
Lookup(Of GetType(MyStringVariable))("Testing")

```

I've tried to Google this but I'm having a hard time coming up with an appropriate search. Can anyone tell me how to do what I want?

Answer: 
You do not specify the full signature for the method that you're calling, but my psychic powers tell me that it is this:

```
Function Lookup(Of T)(key As String) As T

```

And you want to avoid having to repeat `Integer` twice as in the example below:

```
Dim x As Integer
x = Lookup(Of Integer)("foo");

```

The problem is that type parameters are only deduced when they're used in argument context, but never in return value context. So, you need a helper function with a `ByRef` argument to do the trick:

```
Sub Lookup(Of T)(key As String, ByRef result As T)
    T = Lookup(Of T)(key)
End Sub

```

With that, you can write:

```
Dim x As Integer
Lookup("foo", x);

```
One solution to this is to use reflection. See this [question](https://stackoverflow.com/questions/232535/how-to-use-reflection-to-call-generic-method) for details.