> Anyways, we have a service contract for IReporting, and a ReportManager > implementation class. > > public IList<ReportType> GetReport(string reportName, Criteria c);
Rather than exposing and requiring a base class, you should REALLY expose an interface for your contract. That way nobody _has_ to inherit from the base class... and then the list can be IList<IReportType> which would be much better. Marc -- "He uses statistics as a drunken man uses lamp-posts… for support rather than illumination." Andrew Lang Marc C. Brooks http://musingmarc.blogspot.com