✅ How do I deal with generic covariance and collections types?
Let's say I have osmething like the following:
public interface IBoxCollection<out T> : IBox where T : IBox{ public Dictionary<string, T> Collection { get; }}
public interface IBoxCollection<out T> : IBox where T : IBox{ public Dictionary<string, T> Collection { get; }}
I get the following error:
Invalid variance: The type parameter 'T' must be invariantly valid on 'IBoxCollection<T>.Collection'. 'T' is covariant
Invalid variance: The type parameter 'T' must be invariantly valid on 'IBoxCollection<T>.Collection'. 'T' is covariant
I've looked around on how to resolve this issue but haven't found anything. Is there an easy solution to this problem, or is there a pattern which will accomplish what I'm looking for?