我有以下代码......
Const ToAddress As String = username.Text & "@gmail.com"
设置为在我的Net.Mail.MailMessage上使用的ToAddress 使用以下构造函数
创建 Dim mm As New Net.Mail.MailMessage(username.Text, ToAddress
)
,它接受一个字符串和一个常量字符串。但我在这里得到一个错误
Const ToAddress As String = **username.Text** & "@gmail.com"
表示:需要持续表达
答案 0 :(得分:2)
username.text是可变的,你将无法创建一个const
您始终可以创建一个可以在username.text
上进行验证的函数 public function ToAddress(byval _username as string) as MailAddress
'
'validation here for _username
'
return new MailAddress(_username & "@gmail.com")
end function
答案 1 :(得分:0)
这不是如何使用Const。请参阅first line here。 “常量是一种特殊的变量,其值在程序执行期间不能改变”
编辑:请参阅Fredou对正确语法的回答。
答案 2 :(得分:0)
VB.NET和C#不是C.常量修饰符仅用于编译时已知其值的常量。
答案 3 :(得分:0)
请记住,常量是由编译器编译为程序集的文字的值。这就是为什么不能将常量定义为表达式的原因,因为编译器无法在编译时计算表达式。
定义常量时,编译器将获取该常量的值,并将源中常量的所有使用替换为文本值。在您的示例中,我没有看到您需要将字符串定义为Const
的任何原因,因为接收字符串的方法无法在编译时确定字符串是否为Const
。
答案 4 :(得分:0)
而不是使用Const,特别是,如果您只想在类的实例生命中使用“常量”行为,请尝试:
ReadOnly ToAddress As String = username.Text & "@gmail.com"
答案 5 :(得分:0)
感谢您的协助。我关闭了visual studio并重新启动它,现在发送邮件工作正常。好像VS有一个错误...