Здравствуйте, Sinclair, Вы писали:
S>Оно и так рекурсивно.
S>Смотрите:
S>UserAssembly v1:
S>S>var c = new ChildClass();
S>c.Foo();
S>
Оно не соберется без ссылки UserAssembly -> ParentAssembly:
error CS0012: The type 'ParentClass' is defined in an assembly that is not referenced.
Вызов конструктора собирается, вызов метода — нет. Потому что на первого компилятору достаточно пройти список конструкторов класса, а для второго — все методы, включая унаследованные, чтобы выбрать правильный overload.
Что интересно, преобразование к интерфейсу тоже не собирается, хотя теоретически если child-class его реализует, то parent смотреть не надо.