VContainer icon indicating copy to clipboard operation
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.

Open 1000111001 opened this issue 9 months ago • 0 comments

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.

1000111001 avatar May 24 '24 05:05 1000111001