【问题标题】:Can Objects in Objects be persistent? (vb .net)对象中的对象可以持久化吗? (VB.NET)
【发布时间】:2009-12-15 16:16:43
【问题描述】:

将 BigCollection 调暗为新集合 将 SmallCollection 调暗为新系列 SmallCollection.Add("Hello World") BigCollection.Add(SmallCollection)

MsgBox(BigCollection(1)(1)) 'shows "Hello World
SmallCollection.Clear()
MsgBox(BigCollection(1)(1)) 'ERROR (Collection is empty)

我希望一旦我将某些内容放入 BigCollection 中,它就会一直留在那里,我不希望它可以从外部更改。我希望能够清除 SmallCollection,但不应在 BigCollection 中清除它。有任何想法吗? 也许这是不好的方法,我还不是 .net 大师 ;)

谢谢!

【问题讨论】:

    标签: vb.net object collections


    【解决方案1】:

    如果您想要一个永远不会更改的集合,那么您应该通过ReadOnlyCollection(Of T) 公开它。但是,从标准的 Collection 类型创建一个具有相当笨拙的语法。

    Dim completeSmall As New ReadOnlyCollection(Of Object)(SmallCollection.Cast(Of Object))
    

    如果你从List(Of Object) 开始而不是Collection 会更容易。最终的语法更容易阅读

    Dim SmallCollection As New List(Of Object)()
    ...
    Dim completeSmall As New ReadOnlyCollection(Of Object)(SmallCollection)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-05
      • 2017-01-01
      相关资源
      最近更新 更多