Originariamente inviato da Stoicenko
ma se sono diverse le lasci diverse, in dll diverse, e le referenzi entrambe.. non capisco dove sta il problema

ameno che una delle due (o entrambe) non abbiano bisogno (loro) di "usarsi a vicenda" allora vanno per forza in una stassa dll (o si fa una classe terza con le cose comuni)
E' quello che dicevo anche io.

Concettualmente è sbagliato avere classi che si usano a vicenda.
E' come se tu volessi costruire un'auto utilizzando un motore che pero fa parte di un'altra auto che a sua volta utilizza i freni che fanno parte dell'auto alla quale deve dare il motore :
(Questo è un esempio di riferimento circolare).

Non hai una classe Motore a se stante, ne hai una classe Freno a se stante.
Se devi costruire una sola auto può andare bene (anche se aprendo il vano motore vedrai
un'altra auto di cui ti serve solo il motore.....).

Ma per costruire auto diverse nell'allestimento ma con parti simili (ruote, motori, freni ecc....) e quindi secondo l'approccio OOP, D E V I utilizzare classi il più possibile indipendenti, le cui funzionalità siano definite mediante interfacce.

Chiaro ?