Aquí va la versión en VB.NET 9.0 del ejemplo que vimos en la presentación, para que después digan las malas lenguas que no me gusta el VB ... mmm creo que debería dejar de decirlo yo mismo en público ;)
1 Dim methods = From m In GetType(Math).GetMethods() _
2 Where (m.IsPublic) _
3 Select m
4
5
6 Dim sb = New StringBuilder()
7
8 For Each m In methods
9 sb.Append("Function ")
10 sb.Append(m.Name)
11 sb.Append("(")
12
13 Dim parameters = From p In m.GetParameters() _
14 Select TypeName = p.ParameterType.Name, p.Name, p.IsOut
15
16 Dim first = True
17 For Each p In parameters
18
19 If Not first Then
20 sb.Append(", ")
21 End If
22
23 If p.IsOut Then
24 sb.Append("ByRef ")
25 End If
26
27 sb.Append(p.Name)
28 sb.Append(" As ")
29 sb.Append(p.TypeName)
30
31 first = False
32 Next
33 sb.Append(") As ")
34 sb.AppendLine(m.ReturnType.Name)
35 Next
36
37 System.Console.WriteLine(sb.ToString())