|
延遲加載,亦稱延遲實(shí)例化,延遲初始化等,主要表達(dá)的思想是,把對(duì)象的創(chuàng)建將會(huì)延遲到使用時(shí)創(chuàng)建,而不是在對(duì)象實(shí)例化時(shí)創(chuàng)建對(duì)象,即用時(shí)才加載。這種方式有助于提高于應(yīng)用程序的性能,避免浪費(fèi)計(jì)算,節(jié)省內(nèi)存的使用等。針對(duì)于這種做法,似乎稱之為即用即創(chuàng)建更為合適些。
先來(lái)看一下在Framework4.0中如何實(shí)現(xiàn)延遲加載。
Framework4.0提供了一個(gè)包裝類 Lazy<T>,可以輕松的實(shí)現(xiàn)延遲加載。
///這行代碼表明:要?jiǎng)?chuàng)建一個(gè)延遲加載的字符串對(duì)象s
///原型為L(zhǎng)azy<T> 對(duì)象名=new Lazy<T>(Fun<T>)
///采用泛型委托進(jìn)行構(gòu)造,實(shí)例化此委托時(shí)要求必須是返回值T類型的方法
///如在本例中,T為string,則TestLazy.GetString方法的返回值必須也是string類型
Lazy<string> s = new Lazy<string>(TestLazy.GetString);
NET技術(shù):C# 基礎(chǔ)概念之延遲加載,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。