[Refactor-Minor]

- Refactored interface definition.
- Plugin Loading System Refactor (incomplete).
This commit is contained in:
MapleWheels
2024-12-20 16:17:14 -05:00
committed by Maplewheels
parent 4b2bac7cd8
commit d2b9ca4c1b
16 changed files with 563 additions and 1010 deletions
@@ -97,10 +97,25 @@ public interface IAssemblyLoaderService : IService
/// <returns></returns>
public FluentResults.Result<ImmutableArray<Type>> GetTypesInAssemblies();
/// <summary>
/// Gets the list of <c>Type</c>s from loaded assemblies. Does not create a defensive copy and blocks loading/unloading.
/// </summary>
/// <returns></returns>
public IEnumerable<Type> UnsafeGetTypesInAssemblies();
/// <summary>
/// Returns the first found type given it's fully qualified name.
/// </summary>
/// <param name="typeName"></param>
/// <returns></returns>
public FluentResults.Result<Type> GetTypeInAssemblies(string typeName);
/// <summary>
/// List of loaded assemblies.
/// </summary>
public IEnumerable<Assembly> Assemblies { get; }
public IEnumerable<MetadataReference> AssemblyReferences { get; }
}