Are Strongly typed ArrayLists the better choice in C#?
.net, arraylist, c#
Solution
What you want is a generic, like `List<T>`.
public class Emails : List<Email>
{
}
This has all of the methods of ArrayList and then some, and you get type safety without having to do any extra work.
Note, however, that inheriting from `List<T>` can sometimes cause you more trouble than it's worth. A better idea is to implement `ICollection<T>` or `IEnumerable<T>`, and use the `List<T>` internally to implement the interface.
Problem
When I program in C# , there are times when I need a strongly typed collection: I often create a class that inherits from the `ArrayList`: ``` using System.Collections; public class Emails: ArrayList { public new Email this[int i] { get { return (Email)base[i]; } set { base[i] = value; } } } ``` I realize this is probably not the correct way to inherit from a collection. If I want to inherit from a strongly typed collection in C#, how should I do it, and what class should I choose to inherit from?