让我们假设我们有一个Partial
Class
称为Foo
,如下所示:
Partial Public Class Foo
Partial Private Sub Bar(lorem As String)
End Function
Private Sub Bar(lorem As String)
'Do something
End Function
End Class
这是一个名为Foo
的Class
,并具有Partial
方法。我的问题是:为什么像这样使用Partial
Function
是非法的:
Partial Public Class Foo
Partial Private Function Bar(lorem As String) As Boolean
End Sub
Private Function Bar(lorem As String) As Boolean
Return lorem.StartsWith("A")
End Sub
End Class
?
如果允许返回值,编译器将无法知道如何处理返回值。想象一下,如果没有实际实现partial方法。毕竟,分部方法不需要有实现。这是一个机会。
在这种情况下返回值来自哪里?如果分部方法的调用者试图使用返回值,但从未实现,该怎么办?
你可以写部分函数,你只需要稍微改变一下语法。
Partial Private Sub Bar(lorem As String, ByRef result As Boolean)
允许编译器删除未实现的函数调用。