private void GenerateInitCallbacksMethod()
{
Writer.WriteLine();
Writer.WriteLine("protected override void InitCallbacks() {");
Writer.Indent++;
foreach (TypeScope scope in Scopes)
{
foreach (TypeMapping typeMapping in scope.TypeMappings)
{
if (typeMapping.IsSoap &&
(typeMapping is StructMapping || typeMapping is EnumMapping) &&
!typeMapping.TypeDesc.IsRoot)
{
string methodName = (string)MethodNames[typeMapping];
Writer.Write("AddWriteCallback(");
Writer.Write(RaCodeGen.GetStringForTypeof(typeMapping.TypeDesc.CSharpName, typeMapping.TypeDesc.UseReflection));
Writer.Write(", ");
WriteQuotedCSharpString(typeMapping.TypeName);
Writer.Write(", ");
WriteQuotedCSharpString(typeMapping.Namespace);
Writer.Write(", new ");
Writer.Write(typeof(XmlSerializationWriteCallback).FullName);
Writer.Write("(this.");
Writer.Write(methodName);
Writer.WriteLine("));");
}
}
}
Writer.Indent--;
Writer.WriteLine("}");
}