Wrox Programmer Forums
|
C# 2008 aka C# 3.0 Discuss the Visual C# 2008 (aka C# 3.0) language
Welcome to the p2p.wrox.com Forums.

You are currently viewing the C# 2008 aka C# 3.0 section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
 
Old March 19th, 2010, 07:49 AM
Authorized User
 
Join Date: Nov 2008
Posts: 25
Thanks: 0
Thanked 0 Times in 0 Posts
Smile Serialization problem

Hi Every body
I have a problem and want help.
I have created a phonebook application and it works fine after a awhile i liked to make an upgrade for my application and i started from scratch i didn't inherit it from my old class,and i successes too ,my request
"I want to migrate my contacts from the old application to the
new one"

,so i made an adapter class for this reason in my new application with the following code
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;

namespace PhoneBook
{
    class Adapter
    {
        PhoneRecord PhRecord;   //the new application object
        CTeleRecord TelRecord; //the old application object
        string fileName;
        
        public Adapter(string filename)
        {
            fileName = filename;
        }

        public void convert()
        {

            PhRecord = new PhoneRecord(); 
            TelRecord = new CTeleRecord();

            FileStream OpFileSt = new FileStream(fileName, FileMode.Open,FileAccess.Read);
          

            BinaryFormatter readBin = new BinaryFormatter();
         


            for (; ; )
            {
                try
                {
                    TelRecord.ResetTheObject();

                    TelRecord = (CTeleRecord)readBin.Deserialize(OpFileSt);

                    PhRecord.SetName = TelRecord.GetName;
                    PhRecord.SetHomeNumber = TelRecord.GetHomeNumber;
                    PhRecord.SetMobileNumber = TelRecord.GetMobileNumber;
                    PhRecord.SetWorkNumber = TelRecord.GetWorkNumber;
                    PhRecord.SetSpecialNumber = TelRecord.GetSpecialNumber;
                    PhRecord.SetEmail = TelRecord.GetEmail;
                    PhRecord.SetNotes = TelRecord.GetNotes;
                    PhBookContainer.phBookItems.Add(PhRecord);

                    
                }
                catch (IOException xxx)
                {
                    MessageBox.Show(xxx.Message);


                }
                catch (ArgumentException tt)
                {
                    MessageBox.Show(tt.Message);
                }
                //if end of file is reached
                catch (SerializationException x)
                {
                    MessageBox.Show(x.Message + x.Source);
                    break;
                }

            }
            OpFileSt.Close();

            PhBookContainer.Save(@"d:\MyPhBook.pbf");
            
             }
       
        }
    }
the problem is when i try to read the file ctreated by my old application i receive serialization exception with this message
"Unabel to find assembly 'PhoneBook,Version=1.0.0.0,Culture=neutral,PublicK eyToken=null"

and the source of exceptionis mscorlib.


when i read the same file with my old application(Which is the origin of the file)i have no problem and idon't know what to do to make my

adapter class work.so can somebody help please.

Last edited by falcon eyes; March 19th, 2010 at 04:22 PM..
 
Old March 26th, 2010, 01:42 AM
Registered User
 
Join Date: Mar 2010
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Falcon,
Is this your entire program? If you have other classes in the Phonebook namespace then it would be nice to see them. I would first check that you use the exact same class definition (for the old type of phone book) in your new program as you do in the old. I have had serialization problems, too, and so have others. Also see if you declared a single instance when you needed a variable.
If it wouldn't be too much trouble, could you upload your entire program? If you can't do this, at least upload the class definitions for the old and the new. Thanks.
 
Old March 26th, 2010, 05:13 PM
Authorized User
 
Join Date: Nov 2008
Posts: 25
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PhoneBook
{
    ///Serializable class for holding telephone index object
    [Serializable]
    public class CTeleRecord
    {
        string name;
      
        string homeNumber;
      
        string mobileNumber;
      
        string workNumber;
        
        string specialNumber;
        
        string notes;
       
        string emailAddress;
       
        bool errorFlag;


        //convert Ctelrecord into PhoneRecord
        public static explicit operator PhoneRecord(CTeleRecord TelRecord)
        {
            PhoneRecord PhRecord = new PhoneRecord();
            //TelRecord.ResetTheObject();

            //TelRecord = (CTeleRecord)readBin.Deserialize(OpFileSt);

            PhRecord.SetName = TelRecord.GetName;
            PhRecord.SetHomeNumber = TelRecord.GetHomeNumber;
            PhRecord.SetMobileNumber = TelRecord.GetMobileNumber;
            PhRecord.SetWorkNumber = TelRecord.GetWorkNumber;
            PhRecord.SetSpecialNumber = TelRecord.GetSpecialNumber;
            PhRecord.SetEmail = TelRecord.GetEmail;
            PhRecord.SetNotes = TelRecord.GetNotes;
            return PhRecord;
        }

        public void ResetTheObject() 
        {
             name="";
             homeNumber = "";
             mobileNumber = "";
             workNumber = "";
             specialNumber = "";
             notes = "";
             emailAddress = "";
             errorFlag = false;
        }
        
        

        /// <summary>
        /// Property for Get  user name
        /// </summary>
        public string GetName
        {
            get
            {
                return name;
            }
        }
        /// <summary>
        /// Property for Set user name
        /// </summary>
        public string SetName
        {
            set
            {
                if (errorFlag)
                            errorFlag = false; 
                try
                {
                    if (value.Length <= 50)
                        name = value;
                    else
                        throw new Exception("Invalid Name Length (Max 50 Character)");
                }
                catch (Exception errorName)
                {
                    System.Windows.Forms.MessageBox.Show("You Wrote " + value.Length + "char",
                    errorName.Message);
                    errorFlag = true;
                    
                }
            }
        }
        ////////////////////////////////////////////////////////////////
        /// <summary>
        /// Property for Get home telephone number
        /// </summary>
        public string GetHomeNumber
        { 
            get
            {
                return homeNumber;
            }
        }


        /// <summary>
        /// Property for set home telephone number
        /// </summary>
        public string SetHomeNumber
        {    
            set 
                {
                    if (errorFlag)
                        errorFlag = false;  
                   
                try
                        {
                            if (value != "")
                                Convert.ToInt64(value); 
                              
                        try
                                {
                                    if (value.Length == 0 || value.Length == 8 || value.Length == 10 || value.Length == 14)
                                    homeNumber = value;
                            
                                    else
                                    throw new Exception("Invalid Home Telephone Number Length (8 or 10 or 14 number)");
                                }
                        catch (Exception error)
                                {
                                    System.Windows.Forms.MessageBox.Show(error.Message,"Invalid Home Telephone Number Length");
                                    errorFlag = true;
                                }
                                             
                        }

                   catch (FormatException)
                        {
                            System.Windows.Forms.MessageBox.Show("Numbers can't be a string");
                            errorFlag = true;
                        }
                
                 

                }
        }
        ///////////////////////////////////////////////////////////////

        /// <summary>
        /// Property for Get Mobile telephone number
        /// </summary>
        public string GetMobileNumber
        {
            get
            {
                return mobileNumber;
            }
        }


        /// <summary>
        /// Property for set Mopile telephone number
        /// </summary>
        public string SetMobileNumber
        {
            set
            {
                if (errorFlag)
                    errorFlag = false; 
                try
                {
                    if (value != "") 
                    Convert.ToInt64(value);
                            try
                                {
                                    if (value.Length == 0 || value.Length == 10 || value.Length == 13)
                                    mobileNumber = value;

                                     else
                                     throw new Exception("Invalid mobile Telephone Number Length ( 10 or 14 number)");
                                }
                        catch (Exception error)
                                {
                                    System.Windows.Forms.MessageBox.Show(error.Message, "Invalid mobile Telephone Number Length");
                                    errorFlag = true;
                                }                  
                }

                catch (FormatException)
                {
                    System.Windows.Forms.MessageBox.Show("Numbers can't be a string");
                    errorFlag = true;
                }

               

            }
        }
        /////////////////////////////////////////////////////////////// 
       
        /// <summary>
        /// Property for Get Work telephone number
        /// </summary>
        public string GetWorkNumber
        {
            get
            {
                return workNumber;
            }
        }


        /// <summary>
        /// Property for set work telephone number
        /// </summary>
        public string SetWorkNumber
        {
            
            set
            {
                if (errorFlag)
                    errorFlag = false; 
                try
                {
                    if (value != "") 
                    Convert.ToInt64(value);
                            try
                                {
                                    if (value.Length == 0 || value.Length == 8 || value.Length == 10 || value.Length == 14)
                                    workNumber = value;

                                    else
                                    throw new Exception("Invalid work Telephone Number Length (8 or 10 or 14 number)");
                                }
                            catch (Exception error)
                                {
                                    System.Windows.Forms.MessageBox.Show(error.Message, "Invalid work Telephone Number Length");
                                    errorFlag = true;
                                }                  
                }

                catch (FormatException)
                {
                    System.Windows.Forms.MessageBox.Show("Numbers can't be a string");
                    errorFlag = true;
                }

              

            }
        }
        ///////////////////////////////////////////////////////////////

        /// <summary>
        /// Property for Get special telephone number
        /// </summary>
        public string GetSpecialNumber
        {
            get
            {
                return specialNumber;
            }
        }


        /// <summary>
        /// Property for set Special telephone number
        /// </summary>
        public string SetSpecialNumber
        {
            set
            {
                if (errorFlag)
                    errorFlag = false; 
                try
                {
                    if (value != "")
                    {
                        Convert.ToInt64(value);
                        specialNumber = value;
                    }
                        
                                   
                }

                catch (FormatException)
                {
                    System.Windows.Forms.MessageBox.Show("Numbers can't be a string");
                    errorFlag = true;
                }

               

            }
        }
        ///////////////////////////////////////////////////////////////
        /// <summary>
        /// Property for Get user Notes
        /// </summary>
        public string GetNotes
        {
            get
            {
                return notes; ;
            }
        }
        /// <summary>
        /// Property for Set user Notes
        /// </summary>
        public string SetNotes
        {
            
            set
            {
                if (errorFlag)
                    errorFlag = false; 
                try
                {
                    if (value.Length <= 150)
                        notes = value;
                    else
                        throw new Exception("Invalid Name Length (Max 50 Character)");
                }
                catch (Exception errorName)
                {
                    System.Windows.Forms.MessageBox.Show("You Wrote " + value.Length + "char",
                    errorName.Message);

                    errorFlag = true;
                }
            }
        }
        ////////////////////////////////////////////////////////////////
        
        /// <summary>
        /// Property for Get user email
        /// </summary>
    
       public string GetEmail
                {
                    get
                        {
                            return emailAddress;
                        }
               }

       /// <summary>
       /// Property for Set user email
       /// </summary>
        public string SetEmail
       {
           set
           {
               try
               {
                   if (errorFlag)
                       errorFlag = false; 

                   if (value.Contains('@') && value.Contains('.') || value.Contains(""))
                       emailAddress = value;
                   else
                       throw new Exception("Invalid Email format");
               }

               catch (Exception errorEmail)
               {
                   System.Windows.Forms.MessageBox.Show("Invalid Email format", errorEmail.Message);
                   errorFlag = true;
               }
           }
       }
                
       /// <summary>
       /// get error flag status    
       /// </summary>
        public bool ErrorFlag
       { get { return errorFlag; } } 
        //////////////////////////////////////////////////////////////
    
      }
            
    }
and this the new one

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;



namespace PhoneBook
{
    ///Serializable class for holding telephone index object
    
    [Serializable]
    public class PhoneRecord:ISerializable
    {
        public PhoneRecord() { objectCounter++; }
        
      

        static UInt64 objectCounter=0;
       
        public delegate void ErrorEventHandler();
     
        public event ErrorEventHandler NameErr;
       
        public event ErrorEventHandler HomeNumErr;
       
        public event ErrorEventHandler MobileNumErr;
      
        public event ErrorEventHandler WorkNumErr;
      
        public event ErrorEventHandler SpecialNumErr;
      
        public event ErrorEventHandler NoteErr;

        public event ErrorEventHandler EmailErr;
        
        string name;
      
        string homeNumber;
      
        string mobileNumber;
      
        string workNumber;
        
        string specialNumber;
        
        string notes;
       
        string emailAddress;
       
        bool errorFlag;

        enum errorTag {NameErr,HomeNumErr,WorkNumErr,MobileNumErr
                      ,HotLineNumErr,EmailErr,NotErr,None};
        
       public enum tag {Important,Home,Work,Mobile,HotLine,None };
        
        tag recordTag=tag.None;
       
#region Events Section  
        
        //firing name error event
        void OnNameErr(errorTag err)
        {
            if (NameErr != null)
                NameErr();
        }

        //firing home Number error event
        void OnhomeNumber(errorTag err)
        {
            if (HomeNumErr != null)
                HomeNumErr();
        }

        //firing work Number error event
        void OnworkNumber(errorTag err)
        {
            if (WorkNumErr != null)
                WorkNumErr();
        }

        //firing Special NumErr error event
        void OnSpecialNumErr(errorTag err)
        {
            if (SpecialNumErr != null)
                SpecialNumErr();
        }
  //firing Mobile Number error event
        void OnMobileNumErr(errorTag err)
        {
            if (MobileNumErr != null)
                MobileNumErr();
        }

        //firing Note error event
        void OnNoteErr(errorTag err)
        {
            if (NoteErr != null)
                NoteErr();
        }
        //firing Note error event
        void OnEmailErr(errorTag err)
        {
            if (EmailErr != null)
                EmailErr();
        }

#endregion

        public void ResetTheObject() 
        {
             name="";
             homeNumber = "";
             mobileNumber = "";
             workNumber = "";
             specialNumber = "";
             notes = "";
             emailAddress = "";
             errorFlag = false;
        }

        #region Properties section

        /// <summary>
        /// Property for Get  user name
        /// </summary>
        public string GetName
        {
            get
            {
                return name;
            }
        }
        /// <summary>
        /// Property for Set user name
        /// </summary>
        public string SetName
        {
            set
            {
                if (errorFlag)
                            errorFlag = false; 
                try
                {
                    if (value.Length >0&& value.Length <= 50)
                        name = value;
                    else
                        throw new Exception("Invalid Name Length (Minimum 1 character and Max 50 Character)");
                }
                catch (Exception errorName)
                {
                 /*   System.Windows.Forms.MessageBox.Show("You Wrote " + value.Length + "char >50 char",
                    errorName.Message);*/
                    errorFlag = true;
                    OnNameErr(errorTag.NameErr);
                    
                }
            }
        }
        ////////////////////////////////////////////////////////////////
        /// <summary>
        /// Property for Get home telephone number
        /// </summary>
        public string GetHomeNumber
        { 
            get
            {
                return homeNumber;
            }
        }


        /// <summary>
        /// Property for set home telephone number
        /// </summary>
        public string SetHomeNumber
        {    
            set 
                {
                    if (errorFlag)
                        errorFlag = false;  
                   
                try
                        {
                            if (value != "")
                                Convert.ToInt64(value); 
                              
                        try
                                {
                                    if (value.Length == 0 || value.Length == 8 || value.Length == 10 || value.Length == 14)
                                    homeNumber = value;
                            
                                    else
                                    throw new Exception("Invalid Home Telephone Number Length (8 or 10 or 14 number)");
                                }
                        catch (Exception error)
                                {
                                  //  System.Windows.Forms.MessageBox.Show(error.Message,"Invalid Home Telephone Number Length");
                                    errorFlag = true;
                                    OnhomeNumber(errorTag.HomeNumErr);

                                }
                                             
                        }

                   catch (FormatException)
                        {
                          //  System.Windows.Forms.MessageBox.Show("Numbers can't be a string ");
                            errorFlag = true;
                            OnhomeNumber(errorTag.HomeNumErr);
                        }
                
                 

                }
        }
        ///////////////////////////////////////////////////////////////

        /// <summary>
        /// Property for Get Mobile telephone number
        /// </summary>
        public string GetMobileNumber
        {
            get
            {
                return mobileNumber;
            }
        }


        /// <summary>
        /// Property for set Mopile telephone number
        /// </summary>
        public string SetMobileNumber
        {
            set
            {
                if (errorFlag)
                    errorFlag = false; 
                try
                {
                    if (value != "") 
                    Convert.ToInt64(value);
                            try
                                {
                                    if (value.Length == 0 || value.Length == 10 || value.Length == 13)
                                    mobileNumber = value;

                                     else
                                     throw new Exception("Invalid mobile Telephone Number Length ( 10 or 14 number)");
                                }
                        catch (Exception error)
                                {
                             //       System.Windows.Forms.MessageBox.Show(error.Message, "Invalid mobile Telephone Number Length");
                                    errorFlag = true;
                                    OnMobileNumErr(errorTag.MobileNumErr);
                                }                  
                }

                catch (FormatException)
                {
                  //  System.Windows.Forms.MessageBox.Show("Numbers can't be a string");
                    errorFlag = true;
                    OnMobileNumErr(errorTag.MobileNumErr);
                }

               

            }
        }
        /////////////////////////////////////////////////////////////// 
       
        /// <summary>
        /// Property for Get Work telephone number
        /// </summary>
        public string GetWorkNumber
        {
            get
            {
                return workNumber;
            }
        }


        /// <summary>
        /// Property for set work telephone number
        /// </summary>
        public string SetWorkNumber
        {
          set
            {
                if (errorFlag)
                    errorFlag = false; 
                try
                {
                    if (value != "") 
                    Convert.ToInt64(value);
                            try
                                {
                                    if (value.Length == 0 || value.Length == 8 || value.Length == 10 || value.Length == 14)
                                    workNumber = value;

                                    else
                                    throw new Exception("Invalid work Telephone Number Length (8 or 10 or 14 number)");
                                }
                            catch (Exception error)
                                {
                                //    System.Windows.Forms.MessageBox.Show(error.Message, "Invalid work Telephone Number Length");
                                    errorFlag = true;
                                    OnworkNumber(errorTag.WorkNumErr);
                                }                  
                }

                catch (FormatException)
                {
              //      System.Windows.Forms.MessageBox.Show("Numbers can't be a string");
                    errorFlag = true;
                    OnworkNumber(errorTag.WorkNumErr);
                }

              

            }
        }
        ///////////////////////////////////////////////////////////////

        /// <summary>
        /// Property for Get special telephone number
        /// </summary>
        public string GetSpecialNumber
        {
            get
            {
                return specialNumber;
            }
        }


        /// <summary>
        /// Property for set Special telephone number
        /// </summary>
        public string SetSpecialNumber
        {
            set
            {
                if (errorFlag)
                    errorFlag = false; 
                try
                {
                    if (value != "")
                    {
                        Convert.ToInt64(value);
                        specialNumber = value;
                    }
                        
                                   
                }

                catch (FormatException)
                {
                 //   System.Windows.Forms.MessageBox.Show("Numbers can't be a string");
                    errorFlag = true;
                    OnSpecialNumErr(errorTag.HotLineNumErr);
                }

               

            }
        }
        ///////////////////////////////////////////////////////////////
        /// <summary>
        /// Property for Get user Notes
        /// </summary>
        public string GetNotes
        {
            get
            {
                return notes; ;
            }
        }
        /// <summary>
        /// Property for Set user Notes
        /// </summary>
        public string SetNotes
        {
            
            set
            {
                if (errorFlag)
                    errorFlag = false; 
                try
                {
                    if (value.Length <= 150)
                        notes = value;
                    else
                        throw new Exception("Invalid Note Length (Max 150 Character)");
                }
                catch (Exception errorName)
                {
                  /*  System.Windows.Forms.MessageBox.Show("You Wrote " + value.Length + "char",
                    errorName.Message);*/

                    errorFlag = true;
                    OnNoteErr(errorTag.NotErr);
                }
            }
        }
        ////////////////////////////////////////////////////////////////
        
        /// <summary>
        /// Property for Get user email
        /// </summary>
    
       public string GetEmail
                {
                    get
                        {
                            return emailAddress;
                        }
               }

       /// <summary>
       /// Property for Set user email
       /// </summary>
        public string SetEmail
       {
           set
           {
               try
               {
                   if (errorFlag)
                    errorFlag = false; 

                  // if (value.Contains('@') /*&& value.Contains('.')) || value.Contains("")*/)
                      emailAddress = value;
                   //else
                      // throw new Exception("Invalid Email format");*/
               }

               catch (Exception errorEmail)
               {
                 //  System.Windows.Forms.MessageBox.Show("Invalid Email format", errorEmail.Message);
                   errorFlag = true;
                   OnEmailErr(errorTag.EmailErr);
               }
           }
       }
                
       /// <summary>
       /// get error flag status    
       /// </summary>
        public bool ErrorFlag
       { get { return errorFlag; } } 
        //////////////////////////////////////////////////////////////

        public tag Tag
        {
            get { return recordTag; }
            set { recordTag = value; }
        }
        /// <summary>
        /// Return the Number of Objects created and still a live
        /// </summary>
        /// <param name="info"></param>
        /// <param name="context"></param>
        public UInt64 ObjectsCount
        { get { return objectCounter; } }
#endregion

        #region ISerializable Members

        protected PhoneRecord
        (SerializationInfo info, StreamingContext context)
        {
            SetName = (string)info.GetString("Name");
            SetWorkNumber = (string)info.GetString("Work");
            SetHomeNumber = (string)info.GetString("Home");
            SetMobileNumber = (string)info.GetString("Mobile");
            SetSpecialNumber=(string)info.GetString("Special Number");
            SetEmail=(string)info.GetString("Email");
            SetNotes = (string)info.GetString("Note");
        }
        void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context)
        {
            info.AddValue("Name", GetName);
            info.AddValue("Home", GetHomeNumber);
            info.AddValue("Mobile", GetMobileNumber);
            info.AddValue("Work", GetWorkNumber);
            info.AddValue("Email", GetEmail);
            info.AddValue("Note", GetNotes);
            info.AddValue("Special Number", GetSpecialNumber);
        }

        #endregion

        #region IDisposable Members

        public void Dispose()
        {
            if(objectCounter>0)
            objectCounter--;
        }

        #endregion

    /*    #region IDataObject Members

        object System.Windows.Forms.IDataObject.GetData(Type format)
        {
            throw new NotImplementedException();
        }

        object System.Windows.Forms.IDataObject.GetData(string format)
        {
            throw new NotImplementedException();
        }

        object System.Windows.Forms.IDataObject.GetData(string format, bool autoConvert)
        {
            throw new NotImplementedException();
        }

        bool System.Windows.Forms.IDataObject.GetDataPresent(Type format)
        {
            throw new NotImplementedException();
        }

        bool System.Windows.Forms.IDataObject.GetDataPresent(string format)
        {
            throw new NotImplementedException();
        }

        bool System.Windows.Forms.IDataObject.GetDataPresent(string format, bool autoConvert)
        {
            throw new NotImplementedException();
        }

        string[] System.Windows.Forms.IDataObject.GetFormats()
        {
            throw new NotImplementedException();
        }

        string[] System.Windows.Forms.IDataObject.GetFormats(bool autoConvert)
        {
            throw new NotImplementedException();
        }

        void System.Windows.Forms.IDataObject.SetData(object data)
        {
            throw new NotImplementedException();
        }

        void System.Windows.Forms.IDataObject.SetData(Type format, object data)
        {
            throw new NotImplementedException();
        }

        void System.Windows.Forms.IDataObject.SetData(string format, object data)
        {
            throw new NotImplementedException();
        }

        void System.Windows.Forms.IDataObject.SetData(string format, bool autoConvert, object data)
        {
            throw new NotImplementedException();
        }

        #endregion*/
    }
            
    }
 
Old March 26th, 2010, 05:20 PM
samjudson's Avatar
Friend of Wrox
 
Join Date: Aug 2007
Posts: 2,128
Thanks: 1
Thanked 189 Times in 188 Posts
Default

The binary serializer is looking for an assembly called Photobook.dll. If you 'new' application isn't compiled into a DLL called that then it isn't going to match.

One solution would be, rather than define the old class again in the new application simply add a reference to the old DLL.
__________________
/- Sam Judson : Wrox Technical Editor -/

Think before you post: What have you tried?





Similar Threads
Thread Thread Starter Forum Replies Last Post
serialization taheernawaz ASP.NET 1.x and 2.0 Application Design 0 December 12th, 2007 03:32 AM
Serialization and DeSerialization balesh.mind ASP.NET 2.0 Professional 0 September 12th, 2007 05:05 AM
Date serialization problem aldwinenriquez C# 2005 0 July 12th, 2007 09:40 PM
T-SQL Serialization blueFrench Pro VB Databases 0 July 15th, 2004 08:01 PM
XML Header serialization problem PMNorris Pro VB.NET 2002/2003 0 January 5th, 2004 07:57 AM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.