What you want is generic, like List<T> .
public class Emails : List<Email> { }
This has all the ArrayList methods, and then some, and you get type safety without having to do extra work.
Note, however, that inheriting from List<T> can sometimes cause more problems than it's worth. It is best to implement ICollection<T> or IEnumerable<T> and use List<T> to implement the interface.
source share