If a subclass defines a private field with the same name as one in the baseclass, it will cause some private fields in the baseclass not to be injected. #669
public class BaseClass
{
[Inject] private readonly int _privateReadonlyFieldValue;
[Inject] private int _privateFieldValue;
[Inject] private int _privateFieldValue2;
public void AreEqual(int actual)
{
Assert.AreEqual(_privateReadonlyFieldValue, actual);
Assert.AreEqual(_privateFieldValue, actual);
Assert.AreEqual(_privateFieldValue2, actual);
}
}
public class SubClass : BaseClass
{
[Inject] private int _privateFieldValue;
}
_privateFieldValue and _privateFieldValue2 in BaseClass will not be injected.
Test code:
_privateFieldValue
and_privateFieldValue2
inBaseClass
will not be injected.