From 270b8cac3e98aa0483279af69403ab2faff8fa30 Mon Sep 17 00:00:00 2001 From: Pilzinsel64 Date: Tue, 30 Apr 2024 06:37:45 +0200 Subject: [PATCH] don't use yield return --- Pilz.Plugins/PluginManagerT.cs | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/Pilz.Plugins/PluginManagerT.cs b/Pilz.Plugins/PluginManagerT.cs index e2cf857..5f17a58 100644 --- a/Pilz.Plugins/PluginManagerT.cs +++ b/Pilz.Plugins/PluginManagerT.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; using System.Linq; using System.Reflection; using System.Reflection.Metadata.Ecma335; @@ -30,8 +31,12 @@ namespace Pilz.Plugins /// public IEnumerable> LoadPlugins(string[] paths, params object?[]? parameters) { + var results = new List>(); + foreach (var path in paths) - yield return LoadPlugin(path, parameters); + results.Add(LoadPlugin(path, parameters)); + + return results; } /// @@ -42,8 +47,12 @@ namespace Pilz.Plugins /// public IEnumerable> LoadPlugins(Assembly[] assemblies, params object?[]? parameters) { + var results = new List>(); + foreach (var assembly in assemblies) - yield return LoadPlugin(assembly, parameters); + results.Add(LoadPlugin(assembly, parameters)); + + return results; } /// @@ -53,11 +62,15 @@ namespace Pilz.Plugins /// public IEnumerable> LoadOwnPlugins(bool listenAssemblyLoadContext, params object?[]? parameters) { + var results = new List>(); + if (listenAssemblyLoadContext) AppDomain.CurrentDomain.AssemblyLoad += CurrentDomain_AssemblyLoad; foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies()) - yield return LoadPlugin(assembly, parameters); + results.Add(LoadPlugin(assembly, parameters)); + + return results; } ///