استخدام CustomImplementationFactory لإنشاء تنفيذ مخصص لـ Memory Stream

سيناريوهات الاستخدام المحتملة

لقد قدمت Aspose.Cells واجهة برمجة تطبيقات تسمى CellsHelper.CustomImplementationFactory التي تتيح للمستخدم تقديم تنفيذ مخصص مثل استخدام تنفيذ الذاكرة القابلة لإعادة الاستخدام بدلاً من MemoryStream الافتراضي.

استخدام CustomImplementationFactory لإنشاء تنفيذ مخصص لـ Memory Stream

الكود النموذجي التالي يوضح كيفية استخدام CellsHelper.CustomImplementationFactory في برنامجك. في بعض الأحيان، هناك ما يكفي من الذاكرة في النظام الخاص بك ولكن الذاكرة غير متصلة. تستخدم كائنات Memory Stream ذاكرة متصلة ولكن يمكنك تقديم تنفيذ لـ Memory Stream بحيث يستخدم الذاكرة غير المتصلة بدلاً من ذلك

الكود المثالي

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Implement CustomImplementationFactory - CELLSNET-45461
public class MM : CustomImplementationFactory
{
RecyclableMemoryStreamManager manager = new RecyclableMemoryStreamManager();
public override MemoryStream CreateMemoryStream()
{
return manager.GetStream("MM");
}
public override MemoryStream CreateMemoryStream(int capacity)
{
return manager.GetStream("MM", capacity);
}
}
//----------------------------------------
//----------------------------------------
//Assign implementation instance of CustomImplementationFactory
CellsHelper.CustomImplementationFactory = new MM();
//Light cells data handler implementation
LightCellsDataHandlerVisitCells v = new LightCellsDataHandlerVisitCells();
//Create workbook object
Workbook wb = new Workbook(sourceDir, new LoadOptions() { MemorySetting = MemorySetting.MemoryPreference, LightCellsDataHandler = v });
//Print miscellaneous data
Console.WriteLine("Total sheets: " + wb.Worksheets.Count + ", cells: " + v.CellCount + ", strings: " + v.StringCount + ", formulas: " + v.FormulaCount);