using IwbZero.IocNamed; using IwbZero.IwbBase; using IwbZero.ToolCommon.LogHelpers; using IwbZero.ToolCommon.StringModel; using WeEngine.ComponentInfo; using WeEngine.Components.InterfaceFactory; namespace WeEngine.Components.Statements { /// /// 创建变量 /// [IocNamed(CompStmtType.CreateVariables)] public class VariableCreateStatement : IStatementRunner { public bool Run(ComponentRunner runner, IwbXmlNode poStatement) { this.LogDebug($"============[开始执行事务]====>[创建变量]======>{runner.CurrentNode.NodePath}"); foreach (IwbXmlNode node in poStatement.Nodes) { if (node.Name.UAndT() == "Variable".UAndT()) { string name = node.GetChildValue("Name"); string type = node.GetChildValue("Type"); if (name.IsNotEmpty()) { name = $"{IwbVariableType.Local}{name}"; runner.CreateVariable(name, type); string value = node.GetChildValue("Value"); if (value.IsNotEmpty()) { runner.SetValue(name, value, true); } this.LogDebug($"============[执行事务完成]====>[创建变量]======>[{name}--{value}]"); } } } return true; } } }