Is it possible in C# to create an array of unspecified generic types? Something along the lines of this:
ShaderParam<>[] params = new ShaderParam<&g
It's not possible. In the case where the generic type is under your control, you can create a non-generic base type, e.g.
ShaderParam[] params = new ShaderParam[5]; // Note no generics
params[0] = new ShaderParam(); // If ShaderParam extends ShaderParam
My guess is that this is an XNA type you have no control over though.