为什么我们不能编写部分函数?



让我们假设我们有一个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

这是一个名为FooClass,并具有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)

允许编译器删除未实现的函数调用。

最新更新