25 lines
707 B
C#
25 lines
707 B
C#
|
|
using JiShe.CollectBus.Common.Interfaces;
|
|||
|
|
|
|||
|
|
namespace JiShe.CollectBus.Common.Attributes
|
|||
|
|
{
|
|||
|
|
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = false)]
|
|||
|
|
public class DependsOnAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
// 依赖的模块
|
|||
|
|
public Type ModuleType { get; private init; }
|
|||
|
|
public DependsOnAttribute(Type type)
|
|||
|
|
{
|
|||
|
|
ModuleType = type;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = false)]
|
|||
|
|
public sealed class DependsOnAttribute<TModule> : DependsOnAttribute
|
|||
|
|
where TModule : IJiSheModule
|
|||
|
|
{
|
|||
|
|
public DependsOnAttribute() : base(typeof(TModule))
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|