当前位置: 首页>>代码示例>>C#>>正文


C# IDataContainer.Add方法代码示例

本文整理汇总了C#中IDataContainer.Add方法的典型用法代码示例。如果您正苦于以下问题:C# IDataContainer.Add方法的具体用法?C# IDataContainer.Add怎么用?C# IDataContainer.Add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IDataContainer的用法示例。


在下文中一共展示了IDataContainer.Add方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: PreProcess

        /// <summary>
        /// 
        /// </summary>
        /// <param name="dataContainer"></param>
        /// <returns></returns>
        public override IDataContainer PreProcess(IDataContainer dataContainer)
        {
            var rgbImages = dataContainer.OfType<RgbImageData>().ToArray();
            if (rgbImages.Any())
            {
                if (_rgbImageData != null)
                    _rgbImageData.Dispose();

                _rgbImageData = rgbImages.First().Copy() as RgbImageData;
                return null;
            }

            if (_rgbImageData != null)
            {
                dataContainer.Add(_rgbImageData.Copy());
                _rgbImageData.Dispose();
                _rgbImageData = null;
            }

            return dataContainer;
        }
开发者ID:AlternateIf,项目名称:huddle-engine,代码行数:26,代码来源:MergeRgbImageAndDevice.cs

示例2: ProcessInternal

        private IDataContainer ProcessInternal(IDataContainer dataContainer)
        {
            var allData = dataContainer.ToArray();

            // Set new data to keep data container's meta information.
            dataContainer.Clear();

            //Parallel.ForEach(allData, data =>
            //{
            //    IData processedData = null;
            //    try
            //    {
            //        processedData = Process(data);
            //    }
            //    catch (Exception e)
            //    {
            //        Log("Processing error {0}", e.ToString());
            //    }

            //    if (processedData == null)
            //        return;

            //    dataContainer.Add(processedData);
            //});

            foreach (var data in allData)
            {
                IData processedData = null;
                try
                {
                    processedData = Process(data);
                }
                catch (Exception e)
                {
                    LogFormat("Processing error {0}", e.ToString());
                }

                if (processedData == null)
                    continue;

                dataContainer.Add(processedData);
            };

            return dataContainer.Any() ? dataContainer : null;
        }
开发者ID:AlternateIf,项目名称:huddle-engine,代码行数:45,代码来源:BaseProcessor.cs


注:本文中的IDataContainer.Add方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。