1
我想知道.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