protected virtual void InitProperties(ISourceBlock <T> block, IBlockInitializer propertySetter) { var buffer = block as BufferBlock <T>; Func <IEnumerable <string> > outputQueueFactory = () => from item in this.OutputQueue() select item.ToString(); propertySetter.SetOutputQueueFactory(outputQueueFactory); FieldInfo fieldSource = block.GetType().GetField("m_source", ReflectBlockExtensions.DEFAULT_FLAGS); object source = fieldSource.GetValue(block); PropertyInfo prop = _debugInfo.GetType().GetProperty("DataflowBlockOptions", ReflectBlockExtensions.DEFAULT_FLAGS); var options = (DataflowBlockOptions)prop.GetValue(_debugInfo); propertySetter.SetBlockOptions(options); propertySetter.SetIsLinked(IsLinked); SetNextMessageIdProperty(source, propertySetter); SetTaskForOutputProcessing(propertySetter); propertySetter.AddProperty("Is Completed", () => ReflectBlockExtensions.GetIsCompleted(_debugInfo), 61, Colors.WhiteSmoke); propertySetter.AddProperty("Declined Permanently", () => ReflectBlockExtensions.GetIsDecliningPermanently(_debugInfo), 62, Colors.WhiteSmoke); }
private void InitProperties(IDataflowBlock block, IBlockInitializer propertySetter) { propertySetter.SetInputQueueFactory(() => ReflectBlockExtensions.GetInputQueue(_debugInfo)); propertySetter.SetPostponedMessagesFactory(() => ReflectBlockExtensions.GetProsponedQueue(_debugInfo)); propertySetter.SetOutputQueueFactory(() => ReflectBlockExtensions.GetOutputQueue(_debugInfo)); propertySetter.AddProperty("Current Parallelism", () => ReflectBlockExtensions.GetCurrentDegreeOfParallelism(_debugInfo), 60, Colors.WhiteSmoke); propertySetter.AddProperty("Is Completed", () => ReflectBlockExtensions.GetIsCompleted(_debugInfo), 61, Colors.WhiteSmoke); propertySetter.AddProperty("Declined Permanently", () => ReflectBlockExtensions.GetIsDecliningPermanently(_debugInfo), 62, Colors.WhiteSmoke); propertySetter.SetBlockOptions(ReflectBlockExtensions.GetDataflowBlockOptions(_debugInfo)); }