I am trying to find the right way to use a Generic List of Generic Interfaces as a variable.
Here is an example. It is probably not the best, but hopefully you will get
public interface IPrimitive
{
}
public interface IPrimitive : IPrimitive
{
T Value { get; }
}
public class Star : IPrimitive //must declare T here
{
}
Then you should be able to have
List primitives = new List;
primitives.Add(new Star()); // Assuming Star implements IPrimitive
primitives.Add(new Sun()); // Assuming Sun implements IPrimitive