<p>Is it possible to declare an instance of a generic without knowing the type at design-time?</p>

<p>Example:</p>

<pre><code>Int i = 1;
List&lt;typeof(i)&gt; list = new List&lt;typeof(i)&gt;();
</code></pre>

<p>where the type of i could be anything, instead of having to do:</p>

<pre><code>List&lt;int&gt; list = new List&lt;int();
</code></pre>

I think the best you are going to be able to do is something like this:
```
```
static void Main(string[] args)
{
    int i = 1;
    var thelist = CreateList(i);
}

public static List<T> CreateList<T>(T t)
{
    return new List<T>();
}
```
```