Unity Static Property Injection

Mam dwie klasy, jedną, która ustawia kontener, rejestrując typy i jedną, która zawiera nieruchomą właściwość, do której chcę wstrzyknąć. Moim problemem jest to, że właściwość nigdy nie jest ustawiana przez wtrysk, więc gdy wywołam na niej metodę, właściwość jest zawsze null.

public class ClassOne
{
    public void Method()
    {
        Container.RegisterType<IClass, ClassImplOne>("ImplOne");
        Container.RegisterType<IClass, ClassImplTwo>("ImplTwo");
    }
}

public static class ClassTwo
{
    [Dependency]
    public static IClass SomeProperty { get; set; }

    public static void SomeOtherMethod()
    {
        SomeProperty.AnotherMethod();
    }
}

Jeśli usunę atrybut Dependency i w ClassOne, wykonaj prosty

ClassTwo.SomeProperty = Container.Resolve<IClass>("ImplOne");

działa dobrze, ale chcę wiedzieć, czy można to zrobić bez wyraźnego przypisania wartości do właściwości (tzn. czy kontener może wstrzykiwać atrybuty)?

Edytować:

Dzięki. Usunąłem deklarację statyczną z ClassTwo i ClassOne dodaną RegisterType i Resolve dla ClassTwo, a także dodałem InjectionProperty:

Container.RegisterType<IClass, ClassImplOne>("ImplOne", new InjectionProperty("SomeProperty"));

ale nadal nie działa: S

questionAnswers(2)

yourAnswerToTheQuestion