title: C# - How to xml deserialize object itself?
body: <pre><code>public class Options
      {
          public FolderOption FolderOption { set; get; }
  
          public Options()
          {
              FolderOption = new FolderOption();
          }
  
  
          public void Save()
          {
              XmlSerializer serializer = new XmlSerializer(typeof(Options));
              TextWriter textWriter = new StreamWriter(@"C:\Options.xml");
              serializer.Serialize(textWriter, this);
              textWriter.Close();
          }
  
          public void Read()
          {
              XmlSerializer deserializer = new XmlSerializer(typeof(Options));
              TextReader textReader = new StreamReader(@"C:\Options.xml");
              //this = (Options)deserializer.Deserialize(textReader);
              textReader.Close();
  
          }
      }
  }
  </code></pre>
  
  <p>I managed to Save without problem, all members of FolderOption are deserialized. But the problem is how to read it back? The line -  //this = (Options)deserializer.Deserialize(textReader); won't work. </p>
  
  <p>Edit: Any solution to this problem? Can we achieve the same purpose without assigning to this? That is deserialize Options object back into Option. I am lazy to do it property by property. Performing on the highest level would save of lot of effort.</p>