System.Xml.Serialization.XmlSerializationCodeGen.GenerateSerializerContract C# (CSharp) Method

GenerateSerializerContract() private method

private GenerateSerializerContract ( string className, XmlMapping xmlMappings, Type types, string readerType, string readMethods, string writerType, string writerMethods, Hashtable serializers ) : void
className string
xmlMappings XmlMapping
types System.Type
readerType string
readMethods string
writerType string
writerMethods string
serializers System.Collections.Hashtable
return void
        internal void GenerateSerializerContract(string className, XmlMapping[] xmlMappings, Type[] types, string readerType, string[] readMethods, string writerType, string[] writerMethods, Hashtable serializers)
        {
            _writer.WriteLine();
            _writer.Write("public class XmlSerializerContract : global::");
            _writer.Write(typeof(XmlSerializerImplementation).FullName);
            _writer.WriteLine(" {");
            _writer.Indent++;

            _writer.Write("public override global::");
            _writer.Write(typeof(XmlSerializationReader).FullName);
            _writer.Write(" Reader { get { return new ");
            _writer.Write(readerType);
            _writer.WriteLine("(); } }");

            _writer.Write("public override global::");
            _writer.Write(typeof(XmlSerializationWriter).FullName);
            _writer.Write(" Writer { get { return new ");
            _writer.Write(writerType);
            _writer.WriteLine("(); } }");

            GeneratePublicMethods(nameof(readMethods), "ReadMethods", readMethods, xmlMappings);
            GeneratePublicMethods("writeMethods", "WriteMethods", writerMethods, xmlMappings);
            GenerateTypedSerializers(serializers);
            GenerateSupportedTypes(types);
            GenerateGetSerializer(serializers, xmlMappings);

            _writer.Indent--;
            _writer.WriteLine("}");
        }