0

PropertyInfo.Name に基づいてプロパティ インジェクションを解決する必要があります。クラスはこんな感じ

public class Test
{
    [Dependency]
    public Test TestProperty1{ get; set; }
}

プロパティ名を明示的に再入力せずに、舞台裏でこのように TestProperty1 を解決できるようにしたいと考えています。

container.Resolve<Test>("TestProperty1")

container.Resolve<Test>()またはcontainer.BuildUp( new Test())**への通話中

これどうやってするの?

4

1 に答える 1

0

あなたが達成しようとしていることを理解しているかどうかはわかりません。Unity にTestProperty1指示せずにデータを入力させたいですか?

を使用することDependencyAttributeは適切な選択ではありません。この記事では、その理由について説明します。

Unity に値を注入するように指示TestProperty1するには、登録コードを変更する必要があります。

container.RegisterType<Test>(new InjectionProperty("TestProperty1"));

resolve を呼び出すとTest、そのTestProperty1内容が満たされた のインスタンスが返されます。

Testへの呼び出しの既存のインスタンスがある場合は、container.BuildUp()にも何らかの値が注入されTestProperty1ます。

于 2012-06-28T05:58:16.180 に答える