Click here to Skip to main content
15,880,725 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 281.6K   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 Members</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 Members
					</h1>
      </div>
    </div>
    <div id="nstext">
      <p>
        <a href="NeXtreme.OpenNxSerialization.Surrogates.NxContextSensitiveSerializationSurrogate.html">NxContextSensitiveSerializationSurrogate overview</a>
      </p>
      <h4 class="dtH4">Public Instance Properties</h4>
      <div class="tablediv">
        <table class="dtTABLE" cellspacing="0">
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="NeXtreme.OpenNxSerialization.Surrogates.NxSerializationSurrogate.ActualType.html">ActualType</a> (inherited from <b>NxSerializationSurrogate</b>)</td><td width="50%"> Return the type of object for which this object is a surrogate. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="NeXtreme.OpenNxSerialization.Surrogates.NxSerializationSurrogate.TypeHandle.html">TypeHandle</a> (inherited from <b>NxSerializationSurrogate</b>)</td><td width="50%"> Magic ID associated with the type provided by the <a href="NeXtreme.OpenNxSerialization.NxTypeSurrogateSelector.html">NxTypeSurrogateSelector</a> 
            </td></tr></table>
      </div>
      <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 Constructors</h4>
      <div class="tablediv">
        <table class="dtTABLE" cellspacing="0">
          <tr VALIGN="top">
            <td width="50%">
              <img src="protmethod.gif" />
              <a href="NeXtreme.OpenNxSerialization.Surrogates.NxContextSensitiveSerializationSurrogateConstructor.html">NxContextSensitiveSerializationSurrogate Constructor</a>
            </td>
            <td width="50%"> Constructor. </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%20Members&#xD;&#xA;						">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