考虑我们有3层应用程序,并有三个项目名为P1,P2,P3.
依赖关系:P1(数据)<< P2(业务逻辑)<< P3(演示)
P2有一个基类X,它在P2 中的另一个类Y中继承.因此,我们将ref P1添加到P2.但是,P3使用P2.Y并且不使用P1.X直接.
为此,我们必须将ref P2添加到P3.但VB和C#之间存在差异.
在VB中,我们仅将ref P2添加到P3.P2使用P1,但对P3无关紧要.我们不需要将ref P1添加到P3.这就够了!
但是,在C#中,我们必须将ref P1和P2都添加到P3,即使P3不使用P1.X也是如此.如果您没有将ref A添加到C,则会收到以下错误:
类型'P1.X'在未引用的程序集中定义.您必须添加对程序集'P1,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'的引用.
为什么我们必须在C#中添加两个项目?
或者,我们可以阻止这种行为吗?