public void TestVisitorImplementation2()
    {
        VisitorSerialization2.VisitorImplementation visitor = new VisitorSerialization2.VisitorImplementation(@"c:\sampleclass2.xml");

        IBase @base = new VisitorSerialization2.SampleClass(20, "VisitorSerialization2.SampleClass");

        @base.Accept(visitor);
    }
 public void Process <type>(type parameter) where type : class
 {
     if (parameter is VisitorSerialization2.SampleClass)
     {
         XmlTextWriter writer = new XmlTextWriter(_path, null);
         SampleClass   cls    = parameter as SampleClass;
         writer.WriteStartDocument();
         writer.WriteStartElement("SampleClass");
         writer.WriteStartElement("Value");
         writer.WriteString(XmlConvert.ToString(cls.Value));
         writer.WriteEndElement();
         writer.WriteStartElement("Buffer");
         writer.WriteString(cls.Buffer);
         writer.WriteEndElement();
         writer.WriteEndElement();
         writer.WriteEndDocument();
         writer.Flush();
         writer.Close();
     }
 }