我有一个通过引用接受String的函数: Function Foo(ByRef input As String) 如果我这样称呼它: Foo(Nothing) 我想要它做一些不同的事情,如果我这样称呼它: Dim myString As String = NothingFoo(myString) 是否
Function Foo(ByRef input As String)
如果我这样称呼它:
Foo(Nothing)
我想要它做一些不同的事情,如果我这样称呼它:
Dim myString As String = Nothing Foo(myString)
是否有可能在VB .NET中调用方法的方式中检测到这种差异?
编辑
为了澄清为什么我想要这样做,我有两种方法:
Function Foo() Foo(Nothing) End Function Function Foo(ByRef input As String) 'wicked awesome logic here, hopefully End Function
所有逻辑都在第二个重载中,但是如果Nothing传递给函数,我想执行不同的逻辑分支,而不是传入包含Nothing的变量.
否.在任何一种情况下,该方法“看到”对指向任何内容的字符串(输入)的引用.从方法的角度来看,这些是相同的.