关于设计的一个有关问题

关于设计的一个问题
本人新手哈,跟大家请教一个问题。
我有一个项目引用了第三方的一个dll,这个dll有个类D,然后这个项目里有一个类C的一个方法是这样的public void Fun(D d);
然后另一个项目引用了第一个项目,当第二个项目要调用C.Fun这个函数的时候,就又要引用一次那个dll。
我现在不想再引用一次这个dll。除了把D在C重新封装一次,还有没有其他方法???
------解决思路----------------------
我猜楼主的想法应该不是引用不引用D的问题,而是不想在第三方调用中直接涉及到对D对象的操作~ 希望将关于D的任何信息在在第三方中进行屏蔽、

不知道我理解是否正确