@@ -4,35 +4,23 @@ namespace NetLeaf.Bridge;
44
55public static class Assemblies
66{
7- /// <summary>
8- /// Represents a loaded plugin/assembly.
9- /// </summary>
107 private class LoadedPlugin
118 {
129 public PluginLoadContext Context ;
1310 public Assembly Assembly ;
1411 public string Path ;
15-
16- /// <summary>
17- /// Initializes a new instance of the <see cref="LoadedPlugin"/> class.
18- /// </summary>
19- public LoadedPlugin ( PluginLoadContext context , Assembly assembly , string path ) => ( Context , Assembly , Path ) = ( context , assembly , path ) ;
2012 }
2113
2214 private static readonly List < LoadedPlugin > _loadedPlugins = new ( ) ;
2315
24- /// <summary>
25- /// All currently loaded assemblies.
26- /// </summary>
27- public static IEnumerable < Assembly > LoadedAssemblies => _loadedPlugins . Select ( p => p . Assembly ) ;
16+ public static IEnumerable < Assembly > LoadedAssemblies
17+ => _loadedPlugins . Select ( p => p . Assembly ) ;
2818
29- /// <summary>
30- /// Load an assembly.
31- /// </summary>
32- /// <param name="path">Path to the assembly.</param>
3319 public static void LoadAssembly ( string path )
3420 {
35- string fullPath = Path . IsPathRooted ( path ) ? path : System . IO . Path . Combine ( Path . GetDirectoryName ( Assembly . GetExecutingAssembly ( ) . Location ) ?? "" , path ) ;
21+ string fullPath = Path . IsPathRooted ( path )
22+ ? path
23+ : System . IO . Path . Combine ( Path . GetDirectoryName ( Assembly . GetExecutingAssembly ( ) . Location ) ?? "" , path ) ;
3624
3725 if ( ! File . Exists ( fullPath ) )
3826 {
@@ -43,15 +31,16 @@ public static void LoadAssembly(string path)
4331 var context = new PluginLoadContext ( fullPath ) ;
4432 var assembly = context . LoadFromAssemblyPath ( fullPath ) ;
4533
46- _loadedPlugins . Add ( new LoadedPlugin ( context , assembly , fullPath ) ) ;
34+ _loadedPlugins . Add ( new LoadedPlugin
35+ {
36+ Context = context ,
37+ Assembly = assembly ,
38+ Path = fullPath
39+ } ) ;
4740
4841 Console . WriteLine ( $ "[NetLeaf] Assembly loaded: { fullPath } ") ;
4942 }
5043
51- /// <summary>
52- /// Unload an assembly.
53- /// </summary>
54- /// <param name="path">Path to the assembly.</param>
5544 public static void UnloadAssembly ( string path )
5645 {
5746 var plugin = _loadedPlugins . Find ( p => p . Path == path ) ;
0 commit comments