【发布时间】:2010-12-30 06:26:00
【问题描述】:
我遇到了这种奇怪的情况。
我有这两个类:
Public Class Entry
End Class
Public Class Core
End Class
Core 类的属性之一是一个 Entry 对象数组。如何申报?
现在,从外部更改(添加/删除)此数组的唯一方法应该是使用两个函数 - AddEntry(Ent As Entry) 和 RemoveEntry(ID As String)。请注意,在这里,调用 AddEntry 函数的人应该只关心创建一个 Entry 对象并传递它。它将被添加到现有数组中。
但是,Entry 数组应该可以像这样从外部访问,用于循环和打印或类似这样:
' core1 is a valid Core object
For Each Ent As Entry In core1.Entries
MsgBox(Ent.SomeProperty)
Next Ent
是否可以将数组公开为属性,但仅通过函数限制修改?我知道 Add 和 Remove 函数中的逻辑可以在 setter 或 getter 中,但是想要添加的人应该只传递一个 Entry 对象。
这就像说您对数组具有只读访问权限,但要修改它,只需创建一个对象并发送它或发送 ID 以将其删除。不用担心整个数组。
我希望我说得通。
【问题讨论】:
标签: vb.net arrays class properties