1

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

这是一个Class被调用Foo并且有一个Partial方法。我的问题是:为什么Partial Function像这样使用 s 是非法的:

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

?

4

2 回答 2

2

如果允许返回值,编译器将无法知道如何处理返回值。想象一下,如果部分方法没有真正实现。毕竟,部分方法不必实现。这是一个机会。

在这种情况下,返回值来自哪里?如果分部方法的调用者尝试使用返回值但从未实现怎么办?

于 2016-08-11T17:56:26.720 回答
1

您可以编写部分函数,​​只需稍微更改语法即可。

Partial Private Sub Bar(lorem As String, ByRef result As Boolean)

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

于 2016-08-11T18:13:29.563 回答