Not really. Anything that uses List<T> instead of CustomList<T> will use List<T>.Add, which isn't really what you're intending. Instead, you might have a private List<T> and implement the IList<T>...