private void LoadConfig() { m_Jobs.Clear(); m_Tasks.Clear(); m_Triggers.Clear(); InitConfig(); foreach (ConfigElement element in _ConfigSection.Tasks) { Type taskType = Type.GetType(element.TypeName); ConstructorInfo ci = taskType.GetConstructor(Type.EmptyTypes); ITask task = (ITask)ci.Invoke(new object[0]); ValuesCollection vc = ValuesCollection.FromString(element.Config); task.LoadValues(vc); m_Tasks.Add(task); } foreach (ConfigElement element in _ConfigSection.Jobs) { Type jobType = Type.GetType(element.TypeName); ConstructorInfo ci = jobType.GetConstructor(Type.EmptyTypes); IJob job = (IJob)ci.Invoke(new object[0]); ValuesCollection vc = ValuesCollection.FromString(element.Config); job.LoadValues(vc, this); m_Jobs.Add(job); } foreach (ConfigElement element in _ConfigSection.Triggers) { Type triggerType = Type.GetType(element.TypeName); ConstructorInfo ci = triggerType.GetConstructor(Type.EmptyTypes); ITrigger trigger = (ITrigger)ci.Invoke(new object[0]); ValuesCollection vc = ValuesCollection.FromString(element.Config); trigger.LoadValues(vc, this); m_Triggers.Add(trigger); } }