开发者

Optional ByRef - wrong in VB.NET?

Public Function Foo(ByRef a As AClass, _
                    Optional ByRef b As BClass = Nothing, _ 
                    Optional ByRef c As CClass = No开发者_如何学JAVAthing) As XClass

Error : Optional parameters must specify a default value.

Was is Das?


This compile fine for me with empty classes. I seem to think you have you error in other line, or on define of the parameter classes.

Public Class Class1

    Public Function Foo(ByRef a As aclass, _
                        Optional ByRef b As bclass = Nothing, _
                        Optional ByRef c As cclass = Nothing) As xclass
        Return Nothing
    End Function

End Class

Public Class aclass    
End Class

Public Class bclass    
End Class

Public Class cclass    
End Class

Public Class xclass
End Class


If this is the pattern that you want to use I'd recommend creating an overload that doesn't require those parameters:

Public Function Foo(ByRef a As AClass) As XClass
    Return Foo(a, Nothing, Nothing)
End Function
Public Function Foo(ByRef a As AClass, ByRef b As BClass, ByRef c As CClass) As XClass
    '//Return XClass here
End Function
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜