假设我有List(Of String)
类型的属性。
第一个选项
我可以使用set过程执行整个代码并获取没有exetran函数的URL。
Private Property UrlList As List(Of String)
Get
Return pUrlList
End Get
Set(value As List(Of String))
'Do some long procedure.
pUrlList = value
End Set
End Property
Secont选项
我可以使用外部函数并在Set过程中调用它。
Private Property UrlList As List(Of String)
Get
Return pUrlList
End Get
Set(value As List(Of String))
value = GetURL(value)
pUrlList = value
End Set
End Property
Private Function GetURL(ByVal URLList As List(Of String)) As List(Of String)
'Do the long procedure here.
Return URLList
End Function
总而言之,这两个选项做同样的事情,而UrlList将以两种方式获得相同的URL。
我的问题
当我在SO和许多其他地方查看各种代码时,属性不用于执行主代码或主要功能,它们只是像字段一样使用,内部有一些错误处理(If IsNothing( )然后......类型的东西)。
我的问题
为什么呢? 为什么在第一个选项中不使用属性设置过程?当我可以在Set过程中执行代码时,为什么要使用外部函数。
你建议我做什么?我应该一直使用各种功能,多样化还是使用Set程序?