本文整理汇总了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;
}
示例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;
}