System.Xml.Serialization.SerializationCodeGenerator.GenerateWriteRoot C# (CSharp) Method

GenerateWriteRoot() private method

private GenerateWriteRoot ( ) : void
return void
		void GenerateWriteRoot ()
		{
			WriteLine ("public void " +_result.WriteMethodName + " (object o)");
			WriteLineInd ("{");
			WriteLine ("WriteStartDocument ();");
			
			if (_typeMap is XmlTypeMapping)
			{
				WriteLine (GetRootTypeName () + " ob = (" + GetRootTypeName () + ") o;");
				XmlTypeMapping mp = (XmlTypeMapping) _typeMap;
				if (mp.TypeData.SchemaType == SchemaTypes.Class || mp.TypeData.SchemaType == SchemaTypes.Array) 
					WriteLine ("TopLevelElement ();");

				if (_format == SerializationFormat.Literal) {
					WriteLine (GetWriteObjectName (mp) + " (ob, " + GetLiteral(mp.ElementName) + ", " + GetLiteral(mp.Namespace) + ", true, false, true);");
				}
				else {
					RegisterReferencingMap (mp);
					WriteLine ("WritePotentiallyReferencingElement (" + GetLiteral(mp.ElementName) + ", " + GetLiteral(mp.Namespace) + ", ob, " + GetTypeOf(mp.TypeData) + ", true, false);");
				}
			}
			else if (_typeMap is XmlMembersMapping) {
				WriteLine ("object[] pars = (object[]) o;");
				GenerateWriteMessage ((XmlMembersMapping) _typeMap);
			}
			else
				throw new InvalidOperationException ("Unknown type map");

			if (_format == SerializationFormat.Encoded)
				WriteLine ("WriteReferencedElements ();");

			WriteLineUni ("}");
			WriteLine ("");
		}
		
SerializationCodeGenerator