我目前面临着一个特殊的情况。我有这样的背景:
某个类(A
)正在从另一个类(B
)继承,该类正在实现一个接口(I1
)。A还正在实现另一个接口(I2
)。
public class A : B, I2 {}
public class B : I1 {}
B
实现I1
中描述的所有方法,这些方法由A
使用。但是A
必须实现I2
中的方法,该方法不能在I1
内部,因为它不是I1
的用途。
事情是这样的,A
对I1
的方法的实现的主体与B
对I1
的方法的实现是相似的,这些相似之处是对注入到B
中的对象的使用。
注射过程如下所示:
x一个一个一个一个x一个一个二个x
由于我还需要在A
中使用DI1
和DI2
,我想知道将B
的字段访问器从private
更改为protected
是否会出现任何问题,以便我可以在A
中使用它们,而不必在A
中创建与B
的字段完全相同的新字段。
它可能就像继承中的“常规”保护字段一样简单。但是当我们在这里使用DI时,我想知道它是否会导致任何问题?我感觉它不会,但是我想确定这一点。
我在Microsoft's guidelines中查看了一下,但没有看到任何与此相关的内容。
1条答案
按热度按时间a2mppw5e1#
使用protected修饰符当然是可以的,字段是否被注入无关紧要;使用的访问修饰符不应影响DI的预期行为。