Table of Contents

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

setup Action<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

setup failed to configure an instance of AssemblyContextOptions in a valid state.