.net 在基类上使用带有受保护属性的DI是一种不好的做法吗?

gmxoilav  于 2022-12-14  发布在  .NET
关注(0)|答案(1)|浏览(132)

我目前面临着一个特殊的情况。我有这样的背景:
某个类(A)正在从另一个类(B)继承,该类正在实现一个接口(I1)。A还正在实现另一个接口(I2)。

public class A : B, I2 {}
public class B : I1 {}

B实现I1中描述的所有方法,这些方法由A使用。但是A必须实现I2中的方法,该方法不能在I1内部,因为它不是I1的用途。
事情是这样的,AI1的方法的实现的主体与BI1的方法的实现是相似的,这些相似之处是对注入到B中的对象的使用。
注射过程如下所示:
x一个一个一个一个x一个一个二个x
由于我还需要在A中使用DI1DI2,我想知道将B的字段访问器从private更改为protected是否会出现任何问题,以便我可以在A中使用它们,而不必在A中创建与B的字段完全相同的新字段。
它可能就像继承中的“常规”保护字段一样简单。但是当我们在这里使用DI时,我想知道它是否会导致任何问题?我感觉它不会,但是我想确定这一点。
我在Microsoft's guidelines中查看了一下,但没有看到任何与此相关的内容。

a2mppw5e

a2mppw5e1#

使用protected修饰符当然是可以的,字段是否被注入无关紧要;使用的访问修饰符不应影响DI的预期行为。

相关问题