public AssemblyInvoker(SlaveContext context, IAssemblyInfoCollection assemblyInfo, ITypeDataCollection typeDatas) { this._assembliesMapping = new Dictionary <string, Assembly>(assemblyInfo.Count); this._typeDataMapping = new Dictionary <string, Type>(typeDatas.Count); this._assemblyInfos = assemblyInfo; this._typeDatas = typeDatas; this._context = context; this._dotNetLibDir = context.GetProperty <string>("DotNetLibDir"); this._platformLibDir = context.GetProperty <string>("PlatformLibDir"); this._instanceLibDir = context.GetProperty <string>("InstanceLibDir").Split(';'); _valueTypeConvertors = new Dictionary <string, Func <string, object> >(20) { { typeof(double).Name, valueStr => double.Parse(valueStr) }, { typeof(float).Name, valueStr => float.Parse(valueStr) }, { typeof(long).Name, valueStr => long.Parse(valueStr) }, { typeof(ulong).Name, valueStr => ulong.Parse(valueStr) }, { typeof(int).Name, valueStr => int.Parse(valueStr) }, { typeof(uint).Name, valueStr => uint.Parse(valueStr) }, { typeof(short).Name, valueStr => short.Parse(valueStr) }, { typeof(ushort).Name, valueStr => ushort.Parse(valueStr) }, { typeof(char).Name, valueStr => char.Parse(valueStr) }, { typeof(byte).Name, valueStr => byte.Parse(valueStr) }, { typeof(bool).Name, valueStr => bool.Parse(valueStr) }, { typeof(decimal).Name, valueStr => decimal.Parse(valueStr) }, { typeof(sbyte).Name, valueStr => sbyte.Parse(valueStr) }, { typeof(DateTime).Name, valueStr => DateTime.Parse(valueStr) }, }; }
protected void SendStartMessage() { StatusMessage statusMessage = new StatusMessage(MessageNames.StartStatusName, RuntimeState.Running, Context.SessionId) { Index = Context.MsgIndex }; if (Context.GetProperty <bool>("EnablePerformanceMonitor")) { ModuleUtils.FillPerformance(statusMessage); } Context.UplinkMsgProcessor.SendMessage(statusMessage, false); }