.Register()
が複数回実行されたことを知りたいと思います。私の実験に基づいて、Console.WriteLine
は同じInit
の値を与えます。MVVMLight SimpleIocが複数回登録されたときにはどうなりましたか?
したがって、.Register()
は既に登録されたインスタンスをチェックし、はを無視して再登録しますか?
void Main()
{
// #1
SimpleIoc.Default.Register<TestClass>();
Console.WriteLine(SimpleIoc.Default.GetInstance<TestClass>().Init);
// #2
SimpleIoc.Default.Register<TestClass>();
Console.WriteLine(SimpleIoc.Default.GetInstance<TestClass>().Init);
// Result: #1 and #2 give identical Init value.
}
public class TestClass
{
public string Init { get; set;}
public TestClass()
{
Init = Guid.NewGuid().ToString();
}
}
この現象についての公式なドキュメントが必要ですか? – Evk
@Evk //それは素晴らしいだろう:)私はこの投稿の質問者でした。 https://stackoverflow.com/q/13795596/361100 – Youngjae
ソースコードを見ると、記述したとおりに動作することは明らかですが(一度だけ登録します)、それに関する正式な文書はないと思います。 – Evk