Injektion statischer Eigenschaften von Unity

Ich habe zwei Klassen, eine, die den Container durch Registrieren von Typen einrichtet, und eine, die eine statische Eigenschaft enthält, in die ich einfügen möchte. Mein Problem ist, dass die Eigenschaft niemals durch Injection gesetzt wird. Wenn ich eine Methode aufrufe, ist die Eigenschaft immer 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();
    }
}

Wenn ich das Dependency-Attribut entferne und in ClassOne ein einfaches mache

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

es funktioniert einwandfrei, aber ich möchte wissen, ob dies möglich ist, ohne der Eigenschaft explizit einen Wert zuzuweisen (d. h. kann der Container über Attribute injizieren)?

Bearbeiten:

Vielen Dank. Ich habe die statische Deklaration von ClassTwo entfernt und in ClassOne RegisterType und Resolve für ClassTwo hinzugefügt sowie InjectionProperty hinzugefügt:

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

aber es geht immer noch nicht: S

Antworten auf die Frage(2)

Ihre Antwort auf die Frage