Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GenerateTypedSerializers()

FieldBuilder System.Xml.Serialization.XmlSerializationILGen.GenerateTypedSerializers ( Dictionary< string, string > serializers,
TypeBuilder serializerContractTypeBuilder )
inlineprivateinherited

Definition at line 352 of file XmlSerializationILGen.cs.

353 {
354 string privateName = "typedSerializers";
356 MethodInfo method = typeof(Hashtable).GetMethod("Add", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, new Type[2]
357 {
358 typeof(object),
359 typeof(object)
360 });
361 foreach (string key in serializers.Keys)
362 {
363 ConstructorInfo constructor = CreatedTypes[serializers[key]].GetConstructor(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, Type.EmptyTypes);
364 ilg.Ldloc(typeof(Hashtable), "_tmp");
367 ilg.Call(method);
368 }
370 return fieldBuilder;
371 }
void New(ConstructorInfo constructorInfo)
void Call(MethodInfo methodInfo)
void Ldloc(LocalBuilder localBuilder)
void GenerateHashtableGetEnd(FieldBuilder fieldBuilder)
FieldBuilder GenerateHashtableGetBegin(string privateName, string publicName, TypeBuilder serializerContractTypeBuilder)

References System.Xml.Serialization.CodeGenerator.Call(), System.Xml.Dictionary, System.Type.EmptyTypes, System.key, System.Collections.Generic.Dictionary< TKey, TValue >.Keys, System.Xml.Serialization.CodeGenerator.Ldloc(), System.Xml.Serialization.CodeGenerator.Ldstr(), and System.Xml.Serialization.CodeGenerator.New().