Circular base class definition between 'class1' and 'class2'
The inheritance list for a class includes a direct or indirect reference to itself. A class cannot inherit from itself.
The following sample generates CS0146:
namespace x { public interface a { } public class b : a, c { public void Main() { } } public class c : b { // CS0146 } }