VContainer
VContainer copied to clipboard
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.
Test code:
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.