2 つの ForEach ループがあり、それらを 1 つの Linq に変換しようとしています。
Dim result As Type = Nothing
For Each AssemblyItem As Reflection.Assembly In AppDomain.CurrentDomain.GetAssemblies
For Each typeItem As Type In AssemblyItem.GetTypes
If myClass.FullName = typeItem.FullName Then
result = typeItem
Exit For
End If
Next
If Not IsNothing(result) Then
Exit For
End If
Next
現時点で私は持っています:
result = AppDomain.CurrentDomain.GetAssemblies()
.ForEach(Sub(x As Reflection.Assembly)
x.GetTypes().ForEach(Sub(t As Type)
t.FullName = catalogEntity))
私は運がない別のアプローチでも試しました:
result = AppDomain.CurrentDomain.GetAssemblies()
.Select(Sub(x) x.GetTypes()
.Select(Function(y) y.GetType())
.Where(Function(z) z.FullName.Equals(catalogEntity.FullName))).FirstOrDefault()
しかし、次のエラーが発生します。
「Public Shared Sub ForEach(Of T)(array() As T, action As System.Action(Of T))」のパラメーター「action」に引数が指定されていません
事前に感謝します。