Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does VB.NET and Visual Studio 2010 support multiline anonymous method?

I found that this answer was asked and answered before VS2010 was actually released.

They say that

VB9 has only single-line anonymous functions. We're adding full statement and multi-line lambdas in VB10.

But I tried to add this code

 Dim test2 = Function(t1 As T, t2 As T) (
 Dim val1 As IComparable = DirectCast(prop.GetValue(t1), IComparable)
 Dim val2 As IComparable = DirectCast(prop.GetValue(t2), IComparable)
 Return val1.CompareTo(val2)
 )

to a .NET Framework 4.0 project in Visual Studio 2010 and it does not compile.

Do you now if this feature is really implemented and what I am doing wrong?

like image 712
Drake Avatar asked Dec 04 '22 11:12

Drake


1 Answers

I believe you are only missing your 'End Function' line. Try this:

 Dim test2 = (Function(t1 As T, t2 As T)
 Dim val1 As IComparable = DirectCast(prop.GetValue(t1), IComparable)
 Dim val2 As IComparable = DirectCast(prop.GetValue(t2), IComparable)
 Return val1.CompareTo(val2)
 End Function)
like image 64
diceguyd30 Avatar answered Jan 20 '23 06:01

diceguyd30