internal ReflectTransformBlock(TransformBlock <TIn, TOut> block, IBlockInitializer propertySetter) : base(block, propertySetter) { if (block == null) { return; } #region targetCoreField FieldInfo targetCoreField = block.GetType().GetField("m_target", ReflectBlockExtensions.DEFAULT_FLAGS); object targetCore = targetCoreField.GetValue(block); MethodInfo getTargetDebuggingInformationMethod = targetCore.GetType().GetMethod("GetDebuggingInformation", ReflectBlockExtensions.DEFAULT_FLAGS); _targetDebugInfo = getTargetDebuggingInformationMethod.Invoke(targetCore, new object[0]); #endregion // targetCoreField //propertySetter.AddProperty("Input Count", () => block.InputCount, 3, Colors.White); //propertySetter.AddProperty("Output Count", () => block.OutputCount, 4, Colors.White); propertySetter.SetInputQueueFactory(() => ReflectBlockExtensions.GetInputQueue(_targetDebugInfo)); //propertySetter.SetOutputQueueFactory(() => ReflectBlockExtensions.GetOutputQueue(_sourceDebugInfo)); propertySetter.SetPostponedMessagesFactory(() => ReflectBlockExtensions.GetProsponedQueue(_targetDebugInfo)); propertySetter.AddProperty("Current Parallelism", () => ReflectBlockExtensions.GetCurrentDegreeOfParallelism(_targetDebugInfo), 60, Colors.WhiteSmoke); //propertySetter.SetBlockOptions(ReflectBlockExtensions.GetDataflowBlockOptions(_targetDebugInfo)); }