0

我建立了我的第一堂课,并且有一个可能非常简单的问题:当我写:

Public Class DB_Query
Private myQueryA As String

Public Property QueryA As String
    Get
        QueryA = myQueryA
    End Get
    Set(value As String)
        myQueryA = value
    End Set
End Property

Public Sub Send_Query
[...]
Dim mycmd as SqlCommand = SqlCommand(me.myQueryA, myconn)
[...]
End Sub

这是正确的方法吗,因为我总是必须先设置“QueryA”才能使用该Send_Query方法。还是我必须使用构造函数?

4

2 回答 2

0

如果您的属性应始终在调用方法之前设置,并且只能设置一次,那么我建议set您使用 readonly 属性(带有 private )并通过构造函数设置值。

但是,如果可以多次设置该属性,则需要将该属性设置为可读写。在这种情况下,您不能依赖构造函数,因为在Nothing调用构造函数后始终可以将属性设置为无效值(例如 )。所以在这种情况下,如果您在属性值无效时调用该方法,我建议您让该Send_Query方法抛出一个合适的异常(也许)。InvalidOperationException

于 2013-09-16T10:14:35.023 回答
-1

你可以给你的属性一个值一次,你可以在你的构造函数或任何其他函数中设置它

于 2013-09-16T09:54:11.750 回答