using System; public abstract class ConfigurationElement { protected ConfigurationElement () { } public static void Main () { } } public class CustomConfigurationElement : ConfigurationElement { } public class CustomConfigurationElementCollection : BaseCollection { } public class BaseCollection where T : ConfigurationElement, new () { }