/// <summary> /// Creates ensemble manager of corresponding type and /// initializes from current research. /// </summary> protected void CreateEnsembleManager() { ManagerTypeInfo[] info = (ManagerTypeInfo[])managerType.GetType().GetField(managerType.ToString()).GetCustomAttributes(typeof(ManagerTypeInfo), false); Type t = Type.GetType(info[0].Implementation); currentManager = (AbstractEnsembleManager)t.GetConstructor(Type.EmptyTypes).Invoke(new object[0]); currentManager.ModelType = modelType; currentManager.TracingPath = (TracingPath == "" ? "" : TracingPath + "\\" + ResearchName); currentManager.CheckConnected = CheckConnected; currentManager.RealizationCount = realizationCount; currentManager.ResearchName = ResearchName; currentManager.ResearchType = GetResearchType(); currentManager.GenerationType = GenerationType; currentManager.AnalyzeOptions = AnalyzeOption; currentManager.NetworkStatusUpdateHandlerMethod = AbstractResearch_OnUpdateNetworkStatus; FillParameters(currentManager); }