This is not possible and to understand why, you need to look into what generic types are and what happens on build. Generics are compile time feature. Meaning whatever it does, it does at time of compiling (before you run application). Behind the scenes, .Net will create classes and instructions based on your code.
In the sample you have shown, the variable is a runtime entity. Compiler does not know what to do with it since the variable does not exist at compile time.
If you know the return type of your variable while writing code, you that Type instead or if the return types could be multiple, explore inheritance or interfacing if that could be used.
In general, with any compile time feature ask this: Do I know all the types which this piece of code uses? And is there any place where my answer is "oh it could be type A or B or C which cannot be base classed or interfaced*"? Unless your answers are yes and no, there is very little chance this code will compile.
*Is that even a word?