serhio
serhio

Reputation: 28586

Optional ByRef - wrong in VB.NET?

Public Function Foo(ByRef a As AClass, _
                    Optional ByRef b As BClass = Nothing, _ 
                    Optional ByRef c As CClass = Nothing) As XClass

Error : Optional parameters must specify a default value.

Was is Das?

Upvotes: 4

Views: 12438

Answers (2)

Chris Haas
Chris Haas

Reputation: 55427

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

Upvotes: 1

Aditya Om
Aditya Om

Reputation: 206

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

Upvotes: 5

Related Questions