Class AssemblyContext
- Namespace
- Cuemon.Reflection
- Assembly
- Cuemon.Core.dll
Provides a set of static methods and properties to manage and filter assemblies in the current application domain.
public static class AssemblyContext
- Inheritance
-
AssemblyContext
Examples
The following example demonstrates how to filter and enumerate loaded assemblies using AssemblyContext. It retrieves all assemblies whose name starts with "Cuemon" and prints each assembly name.
using System;
using System.Linq;
using Cuemon.Reflection;
namespace Cuemon.Reflection;
public class AssemblyContextExample
{
public void Demonstrate()
{
var assemblies = AssemblyContext.GetCurrentDomainAssemblies(options =>
{
options.AssemblyFilter = a => a.FullName?.StartsWith("Cuemon") == true;
});
foreach (var assembly in assemblies)
{
Console.WriteLine($"Assembly: {assembly.GetName().Name}");
}
}
}
Methods
GetCurrentDomainAssemblies(Action<AssemblyContextOptions>)
Gets the qualified assemblies from the current application domain.
public static IReadOnlyList<Assembly> GetCurrentDomainAssemblies(Action<AssemblyContextOptions> setup = null)
Parameters
setupAction<AssemblyContextOptions>The AssemblyContextOptions which may be configured.
Returns
- IReadOnlyList<Assembly>
A read-only list of Assembly instances that match the filter criteria defined in AssemblyContextOptions.
Remarks
When IncludeReferencedAssemblies is true,
referenced assemblies may be loaded into the current application domain during traversal.
This can change subsequent results returned by GetAssemblies().
Exceptions
- ArgumentException
setupfailed to configure an instance of AssemblyContextOptions in a valid state.