Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az alábbi példa bemutatja, hogyan használható a LINQ a megadott keresési feltételnek megfelelő metódusok adott metaadatainak lekérésére. Ebben az esetben a lekérdezés megtalálja az összes olyan metódus nevét a szerelvényben, amely felsorolható típusokat, például tömböket ad vissza.
példa
Imports System.Linq
Imports System.Reflection
Module Module1
Sub Main()
Dim asmbly As Assembly =
Assembly.Load("System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken= b77a5c561934e089")
Dim pubTypesQuery = From type In asmbly.GetTypes()
Where type.IsPublic
From method In type.GetMethods()
Where method.ReturnType.IsArray = True
Let name = method.ToString()
Let typeName = type.ToString()
Group name By typeName Into methodNames = Group
Console.WriteLine("Getting ready to iterate")
For Each item In pubTypesQuery
Console.WriteLine(item.methodNames)
For Each type In item.methodNames
Console.WriteLine(" " & type)
Next
Next
Console.WriteLine("Press any key to exit... ")
Console.ReadKey()
End Sub
End Module
A példa a Assembly.GetTypes metódust használja a megadott szerelvény típusok tömbjének visszaadására. A Where Clause szűrőt úgy alkalmazza a rendszer, hogy csak a nyilvános típusok legyenek visszaadva. Minden nyilvános típushoz egy alkérdést hoz létre a rendszer a MethodInfo hívásból visszaadott Type.GetMethods tömb használatával. Ezek az eredmények csak azokat a metódusokat szűrik, amelyek visszatérési típusa tömb, vagy más olyan típus, amely implementálja IEnumerable<T>. Végül ezek az eredmények a típusnév kulcsként való használatával vannak csoportosítva.