NMath User's Guide

TOC |  Previous |  Next |  Index

30.2 SOAP Serialization (.NET, C#, CSharp, Visual Basic, VB.NET)

The System.Runtime.Serialization.Formatters.Soap.SoapFormatter class provides Serialize() and Deserialize() methods for persisting an object in SOAP format to a given stream. For example, this code serializes a FloatComplexTriDiagFact object to a file:

using System.IO;
using System.Runtime.Serialization.Formatters.Soap;

int rows = 8, cols = 8;
FloatComplexVector data =
  new FloatComplexVector( cols*3, new RandGenUniform(-1, 1) );
FloatComplexTriDiagMatrix A =
  new FloatComplexTriDiagMatrix( data, rows, cols );
FloatComplexTriDiagFact F = new FloatComplexTriDiagFact( A );

FileStream xmlStream = File.Create( "myData.xml" );
SoapFormatter xmlFormatter = new SoapFormatter();
xmlFormatter.Serialize( xmlStream, F );
xmlStream.Close();

This code restores the objects from the file:

xmlStream = File.OpenRead( "myData.xml");
FloatComplexTriDiagFact F = new FloatComplexTriDiagFact( A );
  (FloatComplexTriDiagFact)xmlFormatter.Deserialize( xmlStream );

xmlStream.Close();
File.Delete( "myData.xml" );

TOC |  Previous |  Next |  Index