2011-10-04 47 views
4

我已經在源代碼不在Silverlight中使用ArrayList的基本原理是什麼?

#if SILVERLIGHT 
     internal static System.Collections.IList CreateArrayList() 
     { 
      return new List<object>(); 
     } 

#else 
     internal static System.Collections.IList CreateArrayList() 
     { 
      return new ArrayList(); 
     } 

#endif 

什麼可能是這種不同的治療目的遇到此代碼段?

+7

我可能會問 - 「爲什麼不在非Silverlight中使用List ?」 –

+0

哈哈這很有趣! –

回答

10

Silverlight沒有不推薦使用的非泛型集合類;他們不僅僅是灰心喪氣;他們根本就沒有。

這個代碼奇怪的是:顯然它適用於SilverLight的情況,所以爲什麼離開舊代碼的所有?使用ArrayList沒有什麼好處,是嗎?

+3

除非你也在爲.NET 1.1或微型框架構建,當然。 –

+3

@JonSkeet:好點。但這似乎也很奇怪;如果是這種情況,那麼爲什麼特例SilverLight?爲什麼不是代碼「#if DOTNET_V1_1」,這樣ArrayList只有在*有*的情況下才會使用? –

+0

Doh - 是的,那肯定會更好... –

相關問題