Vitty'S Blog

   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  43 随笔 :: 221 文章 :: 215 评论 :: 0 Trackbacks

  为了减小Silverlight运行时的文件大小,大多数非范型集合类型将不会再被支持。这些非泛型集合类型主要是那些曾经一度被看作.NET编程本质的类型,如ArrayList、Hashtable和Comparer等。

  根据微软基础类库团队的成员Inbar Gazit所言,非范型集合将不会随Silverlight 1.1一起发布 。这就意味着虽然你仍可以在主要的.NET发行版本中使用这些类型,但它们却不能被用来访问Silverlight程序。受影响的类包括:

  ArrayList

  BitArray

  CaseInsensitiveComparer

  CaseInsensitiveHashCodeProvider

  CollectionBase

  Comparer

  CompatibleComparer

  DictionaryBase

  EmptyReadOnlyDictionaryInternal

  Hashtable

  IHashCodeProvider

  KeyValuePairs

  ListDictionaryInternal

  Queue

  ReadOnlyCollectionBase

  SortedList

  Stack

  为了不至于太过迷惑,在主要的.NET发行版本里,微软现在还不打算清除这些类,或者将它们标识为弃用(obsolete)。

  为了支持像数据绑定这样不需要知道类型的场景,在Silverlight里下面的一些非范型接口将仍会得到保留:

  IEnumerator

  IEnumerable

  ICollection

  IComparer

  IDictionary

  IDictionaryEnumerator

  DictionaryEntry

  IEqualityComparer

  IList

  有一些范型集合也将不再被Silverlight支持,Inbar解释说:

  有三个范型也被从Silverlight中清除掉了,包括Queue、Stack和LinkedList等。这儿并不是因为它们是非范型,而是因为我们认为它们不是Silverlight所应提供的本质类型的一部分。记住,Silverlight是一个非常小的下载,它应该只包括对开发有用的最小API集合。用List实现Queue和Stack非常容易,而LinkedList也只是一个带有不同性能特性List的不同实现而已,因此这些并不是我们核心集合群组的本质部分。

  Inbar还发表了一篇关于为什么范型集合应该被用在传统.NET编程 中的文章,并提出了一些针对现有代码库如何进行改变的建议。

posted on 2008-05-21 11:46 Vitty 阅读(660) 评论(0)  编辑 收藏 引用 所属分类: 1.电脑网络
只有注册用户登录后才能发表评论。