<p>If have a set of classes that all implement an interface. </p>

<pre><code>interface IMyinterface&lt;T&gt;
{
    int foo(T Bar);
}
</code></pre>

<p>I want to shove them all in a list and enumerate through them.  </p>

<pre><code> List&lt;IMyinterface&gt; list
 foreach(IMyinterface in list)
 // etc...  
</code></pre>

<p>but the compiler wants to know what T is. Can I do this? How can I overcome this issue?</p>

There is no IMyinterface type there is only a IMyinterface`1 type which will require a type argument.  You could create an IMyinterface type:-
```
```
interface IMyinterface { ... }
```
```
then inherit from it
```
```
interface IMyinterface<T> : IMyinterface { ... }
```
```
You would need to move any members you would like to use in the foreach loop to the IMyinterface definition.