Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions ReflectorNet.Tests/src/Utils/AssemblyUtilsTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ public void GetAssemblyTypes_SameAssembly_ReturnsDifferentInstances()

// Assert - should return different array instances (no caching)
Assert.NotSame(types1, types2);
Assert.Equal(types1.Length, types2.Length);
Assert.Equal(types1.Count(), types2.Count());
}

[Fact]
Expand Down Expand Up @@ -359,7 +359,7 @@ public void GetAssemblyTypes_ConcurrentAccess_ReturnsValidTypes()
Parallel.For(0, 10, i =>
{
barrier.SignalAndWait(); // Ensure all threads start at the same time
results[i] = AssemblyUtils.GetAssemblyTypes(assembly);
results[i] = AssemblyUtils.GetAssemblyTypes(assembly).ToArray();
});
}

Expand All @@ -386,7 +386,7 @@ public void GetAssemblyTypes_ConcurrentAccessDifferentAssemblies_Succeeds()
// Act - access different assemblies from multiple threads
Parallel.ForEach(assemblies, assembly =>
{
var types = AssemblyUtils.GetAssemblyTypes(assembly);
var types = AssemblyUtils.GetAssemblyTypes(assembly).ToArray();
lock (lockObj)
{
results[assembly] = types;
Expand Down
8 changes: 4 additions & 4 deletions ReflectorNet/src/Utils/AssemblyUtils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,9 @@ public static IEnumerable<Type> AllTypes
foreach (var assembly in AllAssemblies)
{
var types = GetAssemblyTypes(assembly);
for (int i = 0; i < types.Length; i++)
foreach (var type in types)
{
yield return types[i];
yield return type;
}
}
}
Expand All @@ -70,11 +70,11 @@ public static IEnumerable<Type> AllTypes
/// </remarks>
/// <param name="assembly">The assembly to get types from.</param>
/// <returns>Array of types from the assembly. May be empty if the assembly cannot be inspected.</returns>
public static Type[] GetAssemblyTypes(Assembly assembly)
public static IEnumerable<Type> GetAssemblyTypes(Assembly assembly)
{
try
{
return assembly.GetTypes();
return assembly.DefinedTypes;
}
catch (ReflectionTypeLoadException ex)
{
Expand Down