/// <summary> /// 加载模块实例。 /// </summary> /// <param name="wfAddIn"></param> /// <param name="instanceID"></param> internal static void LoadWorkflowInstance(object wfAddIn, bool isEnabled, Guid instanceID) { System.Type T = wfAddIn.GetType(); System.Reflection.PropertyInfo propertyInfo = null; foreach (System.Reflection.PropertyInfo item in T.GetProperties()) { WorkflowInstanceIdAttribute wfa = Attribute.GetCustomAttribute(item, typeof(WorkflowInstanceIdAttribute)) as WorkflowInstanceIdAttribute; if (!Object.Equals(null, wfa)) { propertyInfo = item; break; } } if (propertyInfo != null) { propertyInfo.SetValue(wfAddIn, instanceID, new object[] { }); } }
WorkflowResult GetInstanceID(object wfAddIn) { WorkflowResult wfResult = new WorkflowResult(); if (wfAddIn == null) { wfResult.Error = new ArgumentNullException("wfAddIn"); return(wfResult); } System.Type T = wfAddIn.GetType(); WorkflowAddInAttribute wfa = Attribute.GetCustomAttribute(T, typeof(WorkflowAddInAttribute)) as WorkflowAddInAttribute; if (Object.Equals(null, wfa)) { wfResult.Error = new ArgumentException("wfAddIn"); return(wfResult); } System.Reflection.PropertyInfo propertyInfo = null; foreach (System.Reflection.PropertyInfo item in T.GetProperties()) { WorkflowInstanceIdAttribute wfai = Attribute.GetCustomAttribute(item, typeof(WorkflowInstanceIdAttribute)) as WorkflowInstanceIdAttribute; if (!Object.Equals(null, wfai)) { propertyInfo = item; break; } } if (Object.Equals(null, propertyInfo)) { wfResult.Error = new Exception("没有发现\"WorkflowInstanceId\"属性标记"); return(wfResult); } wfResult.InstanceId = (Guid)propertyInfo.GetValue(wfAddIn, new object[] { }); return(wfResult); }