I've just gotten into some C# programming and decided to expand my knowledge of how games are made in C# by looking through some open-source frameworks. While doing this I noticed something very odd; classes that they make would implement both generic and non-generic interfaces that represent the same data structure. For example:
public class SomeSpecialList<T> : IList<T>, IList {
...
}
I couldn't find any explanation to this - Is this something I should be thinking about when programming games in C#? Why? Is it a performance thing?