Vb.net 检查可选参数是否已更改
我有一个带有1个参数和10个可选参数的函数。 可选参数都是空的。 现在我想检查一个可选参数是否改变了他的值,或者函数是用可选参数启动的。 想想看,参数可以没有值,然后函数也返回。Vb.net 检查可选参数是否已更改,vb.net,function,optional-parameters,Vb.net,Function,Optional Parameters,我有一个带有1个参数和10个可选参数的函数。 可选参数都是空的。 现在我想检查一个可选参数是否改变了他的值,或者函数是用可选参数启动的。 想想看,参数可以没有值,然后函数也返回。 谢谢你的帮助D10个参数。。这有点过分了。。。而且很难管理。 If Parameter1 Is Nothing then 'Parameter1 changed EndIf 你最好通过一个课程或结构 检查可选参数是否为默认值是确定其是否为预设值的常用方法,如前一个答案所示 如果需要测试某个对象在例程运行时是否发生
谢谢你的帮助D10个参数。。这有点过分了。。。而且很难管理。
If Parameter1 Is Nothing then
'Parameter1 changed
EndIf
你最好通过一个课程或结构
检查可选参数是否为默认值是确定其是否为预设值的常用方法,如前一个答案所示
如果需要测试某个对象在例程运行时是否发生了更改,但如果该对象最初作为“Nothing”传递,则需要通过引用传递该对象
如果没有关于您的使用意图的更多信息,就有点难以最终回答这个问题。如果您的其他可选参数为空,我相信它们的引用类型是字符串 请从MSDN中执行以下操作,以检查是否存在可选参数- 过程无法在运行时检测给定的参数是否被忽略,或者调用代码是否显式提供了默认值。如果需要进行此区分,可以将不太可能的值设置为默认值。以下过程定义可选参数office,并测试其默认值QJZ,以查看调用中是否省略了该参数: 端接头
可以找到链接我不明白你的问题。为什么不考虑提供示例代码呢。也可以考虑使用替代参数。
Sub notify(ByVal company As String, Optional ByVal office As String = "QJZ")
If office = "QJZ" Then
Debug.WriteLine("office not supplied -- using Headquarters")
office = "Headquarters"
End If
' Insert code to notify headquarters or specified office.