Click here to Skip to main content
15,886,362 members
Articles / Programming Languages / C#

A Fast/Compact Serialization Framework

Rate me:
Please Sign up or sign in to vote.
4.85/5 (37 votes)
13 Oct 2010GPL35 min read 282K   1.2K   175  
A framework for object serializiation/deserialization that is many times faster and yields a compact output.
<html dir="LTR">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=Windows-1252" />
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5" />
    <title>NxContextSensitiveSerializationSurrogate Methods</title>
    <xml>
    </xml>
    <link rel="stylesheet" type="text/css" href="MSDN.css" />
  </head>
  <body id="bodyID" class="dtBODY">
    <div id="nsbanner">
      <div id="bannerrow1">
        <table class="bannerparthead" cellspacing="0">
          <tr id="hdr">
            <td class="runninghead">OpenNxSerialization API Reference</td>
            <td class="product">
            </td>
          </tr>
        </table>
      </div>
      <div id="TitleRow">
        <h1 class="dtH1">NxContextSensitiveSerializationSurrogate�Methods</h1>
      </div>
    </div>
    <div id="nstext">
      <p>The methods of the <b>NxContextSensitiveSerializationSurrogate</b> class are listed below. For a complete list of <b>NxContextSensitiveSerializationSurrogate</b> class members, see the <a href="NeXtreme.OpenNxSerialization.Surrogates.NxContextSensitiveSerializationSurrogateMembers.html">NxContextSensitiveSerializationSurrogate Members</a> topic.</p>
      <h4 class="dtH4">Public Instance Methods</h4>
      <div class="tablediv">
        <table class="dtTABLE" cellspacing="0">
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="NeXtreme.OpenNxSerialization.Surrogates.NxSerializationSurrogate.CreateInstance.html">CreateInstance</a> (inherited from <b>NxSerializationSurrogate</b>)</td><td width="50%"> Creates instance of <a href="NeXtreme.OpenNxSerialization.Surrogates.NxSerializationSurrogate.ActualType.html">ActualType</a>. Calls the default constructor and returns the object. There must be a default constructor even though it is private. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemObjectClassEqualsTopic.asp">Equals</a> (inherited from <b>Object</b>)</td><td width="50%">Determines whether the specified <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemObjectClassTopic.asp">Object</a> is equal to the current <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemObjectClassTopic.asp">Object</a>.</td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemObjectClassGetHashCodeTopic.asp">GetHashCode</a> (inherited from <b>Object</b>)</td><td width="50%">Serves as a hash function for a particular type. <b>GetHashCode</b> is suitable for use in hashing algorithms and data structures like a hash table.</td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemObjectClassGetTypeTopic.asp">GetType</a> (inherited from <b>Object</b>)</td><td width="50%">Gets the <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemTypeClassTopic.asp">Type</a> of the current instance.</td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="NeXtreme.OpenNxSerialization.Surrogates.NxContextSensitiveSerializationSurrogate.Instantiate.html">Instantiate</a></td><td width="50%"> Creates instance of <a href="NeXtreme.OpenNxSerialization.Surrogates.NxSerializationSurrogate.ActualType.html">ActualType</a>. This is different from <a href="NeXtreme.OpenNxSerialization.Surrogates.NxSerializationSurrogate.CreateInstance.html">CreateInstance</a> in the sense that a <a href="NeXtreme.OpenNxSerialization.IO.NxBinaryReader.html">NxBinaryReader</a> object is passed as parameter that can be used to read creation specific information from the stream. For example it can be used to read the length of the array before actually reading the values. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="NeXtreme.OpenNxSerialization.Surrogates.NxContextSensitiveSerializationSurrogate.Read.html">Read</a></td><td width="50%"> Read an object of type <a href="NeXtreme.OpenNxSerialization.Surrogates.NxSerializationSurrogate.ActualType.html">ActualType</a> from the stream reader </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="NeXtreme.OpenNxSerialization.Surrogates.NxContextSensitiveSerializationSurrogate.ReadDirect.html">ReadDirect</a></td><td width="50%"> Read an object of type <a href="NeXtreme.OpenNxSerialization.Surrogates.NxSerializationSurrogate.ActualType.html">ActualType</a> from the stream reader. Constrast to <a href="NeXtreme.OpenNxSerialization.Surrogates.NxSerializationSurrogate.Read.html">Read</a> a fresh instance of the object is passed as parameter. The surrogate should populate fields in the object from data on the stream </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemObjectClassToStringTopic.asp">ToString</a> (inherited from <b>Object</b>)</td><td width="50%">Returns a <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemStringClassTopic.asp">String</a> that represents the current <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemObjectClassTopic.asp">Object</a>.</td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="NeXtreme.OpenNxSerialization.Surrogates.NxContextSensitiveSerializationSurrogate.Write.html">Write</a></td><td width="50%"> Write an object of type <a href="NeXtreme.OpenNxSerialization.Surrogates.NxSerializationSurrogate.ActualType.html">ActualType</a> to the stream writer </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="NeXtreme.OpenNxSerialization.Surrogates.NxContextSensitiveSerializationSurrogate.WriteDirect.html">WriteDirect</a></td><td width="50%"> Write an object of type <a href="NeXtreme.OpenNxSerialization.Surrogates.NxSerializationSurrogate.ActualType.html">ActualType</a> to the stream writer </td></tr></table>
      </div>
      <h4 class="dtH4">Protected Instance Methods</h4>
      <div class="tablediv">
        <table class="dtTABLE" cellspacing="0">
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemObjectClassFinalizeTopic.asp">Finalize</a> (inherited from <b>Object</b>)</td><td width="50%">Allows an <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemObjectClassTopic.asp">Object</a> to attempt to free resources and perform other cleanup operations before the <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemObjectClassTopic.asp">Object</a> is reclaimed by garbage collection.</td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemObjectClassMemberwiseCloneTopic.asp">MemberwiseClone</a> (inherited from <b>Object</b>)</td><td width="50%">Creates a shallow copy of the current <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemObjectClassTopic.asp">Object</a>.</td></tr></table>
      </div>
      <h4 class="dtH4">See Also</h4>
      <p>
        <a href="NeXtreme.OpenNxSerialization.Surrogates.NxContextSensitiveSerializationSurrogate.html">NxContextSensitiveSerializationSurrogate Class</a> | <a href="NeXtreme.OpenNxSerialization.Surrogates.html">NeXtreme.OpenNxSerialization.Surrogates Namespace</a></p>
      <hr />
      <div id="footer">
        <p>
          <a href="mailto:alleey@gmail.com?subject=OpenNxSerialization%20API%20Reference%20Documentation%20Feedback:%20NxContextSensitiveSerializationSurrogate�Methods">Send comments on this topic.</a>
        </p>
        <p>
          <a>Copyright (C) 2006 - 2007, NeXtreme Innovations. All rights reserved.</a>
        </p>
        <p>Generated from assembly NeXtreme.OpenNxSerialization [1.0.0.0]</p>
      </div>
    </div>
  </body>
</html>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The GNU General Public License (GPLv3)


Written By
Architect
Pakistan Pakistan
Let a = b ....... (1)
a - b = a - b
a^2 - ab = a^2 - ab
a^2 - ab = a^2 - b^2 (from 1)
a (a - b) = (a + b) (a - b)
a = (a + b) ...... (2)

if a = 1
1 = (1 + 1) (from 1 & 2)
1 = 2 !!

Comments and Discussions