mirror of
https://gitee.com/langsisi_admin/serein-flow
synced 2026-03-03 00:00:49 +08:00
27 lines
1.3 KiB
C#
27 lines
1.3 KiB
C#
using Serein.Library;
|
||
using System;
|
||
|
||
namespace Serein.Library
|
||
{
|
||
/// <summary>
|
||
/// <para>启动流程时,会将标记了该特性的类自动注册到IOC容器中,从而无需手动进行注册绑定。</para>
|
||
/// <para>流程启动后,IOC容器会进行5次注册绑定。</para>
|
||
/// <para>第1次注册绑定:初始化所有节点所属的类([DynamicFlow]标记的类)。</para>
|
||
/// <para>第2次注册绑定:※初始化所有[AutoRegister(Class=FlowInit)]的类。</para>
|
||
/// <para>第3次注册绑定:调用所有Init节点后,进行注册绑定。</para>
|
||
/// <para>第4次注册绑定:※初始化所有[AutoRegister(Class=FlowLoading)]的类</para>
|
||
/// <para>第5次注册绑定:调用所有Load节点后,进行注册绑定。</para>
|
||
/// <para>需要注意的是,在第1次进行注册绑定的过程中,如果类的构造函数存在入参,那么也会将入参自动创建实例并托管到IOC容器中。</para>
|
||
/// </summary>
|
||
[AttributeUsage(AttributeTargets.Class)]
|
||
public sealed class AutoRegisterAttribute : Attribute
|
||
{
|
||
public AutoRegisterAttribute(RegisterSequence Class = RegisterSequence.FlowInit)
|
||
{
|
||
this.Class = Class;
|
||
}
|
||
public RegisterSequence Class ;
|
||
}
|
||
|
||
}
|