mirror of https://github.com/abpframework/abp.git
8 changed files with 90 additions and 6 deletions
@ -0,0 +1,24 @@ |
|||||
|
using System; |
||||
|
using System.Linq; |
||||
|
using System.Reflection; |
||||
|
|
||||
|
namespace Volo.Abp.Modularity; |
||||
|
|
||||
|
/// <summary>
|
||||
|
/// Used to define additional assemblies for a module.
|
||||
|
/// </summary>
|
||||
|
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] |
||||
|
public class AdditionalModuleAssemblyAttribute : Attribute, IAdditionalModuleAssemblyProvider |
||||
|
{ |
||||
|
public Type[] TypesInAssemblies { get; } |
||||
|
|
||||
|
public AdditionalModuleAssemblyAttribute(params Type[]? typesInAssemblies) |
||||
|
{ |
||||
|
TypesInAssemblies = typesInAssemblies ?? Type.EmptyTypes; |
||||
|
} |
||||
|
|
||||
|
public virtual Assembly[] GetAssemblies() |
||||
|
{ |
||||
|
return TypesInAssemblies.Select(t => t.Assembly).Distinct().ToArray(); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,8 @@ |
|||||
|
using System.Reflection; |
||||
|
|
||||
|
namespace Volo.Abp.Modularity; |
||||
|
|
||||
|
public interface IAdditionalModuleAssemblyProvider |
||||
|
{ |
||||
|
Assembly[] GetAssemblies(); |
||||
|
} |
||||
Loading…
Reference in new issue