internal override void SetStateAttributeTo <TSender, TReceiver, TBundler>(StateBuildInfo stateBuildInfo, IEnumerable <TypeBuilder> allStateBldrs) { var eventType = GetEventType <TSender, TBundler>(Event); var ctor = typeof(OnEventDoAction).GetConstructor(new[] { typeof(Type), typeof(string) }); stateBuildInfo.CurrentStateBuilder.SetCustomAttribute(new CustomAttributeBuilder(ctor, new object[] { eventType, Action })); }
internal override void SetStateAttributeTo <TSender, TReceiver, TBundler>(StateBuildInfo stateBuildInfo, IEnumerable <TypeBuilder> allStateBldrs) { var eventTypes = Events.Select(GetEventType <TSender, TBundler>).ToArray(); var ctor = typeof(IgnoreEvents).GetConstructor(new[] { typeof(Type[]) }); stateBuildInfo.CurrentStateBuilder.SetCustomAttribute(new CustomAttributeBuilder(ctor, new object[] { eventTypes })); }
internal override void SetStateAttributeTo <TSender, TReceiver, TBundler>(StateBuildInfo stateBuildInfo, IEnumerable <TypeBuilder> allStateBldrs) { var name = stateBuildInfo.CurrentStateBuilder.Name + Guid.NewGuid().ToString("N"); var typeAttr = stateBuildInfo.CurrentStateBuilder.Attributes; var parentType = stateBuildInfo.CurrentStateBuilder.BaseType; var stateBldr = stateBuildInfo.TransitionTypeBuilder.DefineNestedType(name, typeAttr, parentType); { var ctor = typeof(Start).GetConstructor(Type.EmptyTypes); stateBldr.SetCustomAttribute(new CustomAttributeBuilder(ctor, new object[0])); } { var ctor = typeof(OnEventDoAction).GetConstructor(new[] { typeof(Type), typeof(string) }); stateBldr.SetCustomAttribute(new CustomAttributeBuilder(ctor, new object[] { typeof(Construct), "HandleConstruct" })); } stateBuildInfo.AutoDefinedStartStateBuilder = stateBldr; }
internal override void SetStateAttributeTo <TSender, TReceiver, TBundler>(StateBuildInfo stateBuildInfo, IEnumerable <TypeBuilder> allStateBldrs) { var ctor = typeof(Hot).GetConstructor(Type.EmptyTypes); stateBuildInfo.CurrentStateBuilder.SetCustomAttribute(new CustomAttributeBuilder(ctor, new object[0])); }