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

◆ GenerateHashtableGetBegin()

FieldBuilder System.Xml.Serialization.XmlSerializationILGen.GenerateHashtableGetBegin ( string privateName,
string publicName,
TypeBuilder serializerContractTypeBuilder )
inlinepackageinherited

Definition at line 180 of file XmlSerializationILGen.cs.

181 {
183 ilg = new CodeGenerator(serializerContractTypeBuilder);
185 ilg.BeginMethod(typeof(Hashtable), "get_" + publicName, Type.EmptyTypes, Array.Empty<string>(), MethodAttributes.Public | MethodAttributes.Virtual | MethodAttributes.HideBySig | MethodAttributes.SpecialName);
186 propertyBuilder.SetGetMethod(ilg.MethodBuilder);
187 ilg.Ldarg(0);
189 ilg.Load(null);
190 ilg.If(Cmp.EqualTo);
191 ConstructorInfo constructor = typeof(Hashtable).GetConstructor(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, Type.EmptyTypes);
194 ilg.Stloc(local);
195 return fieldBuilder;
196 }
LocalBuilder DeclareLocal(Type type, string name)
void New(ConstructorInfo constructorInfo)
void BeginMethod(Type returnType, string methodName, Type[] argTypes, string[] argNames, MethodAttributes methodAttributes)
Type LoadMember(object obj, MemberInfo memberInfo)
void Stloc(Type type, string name)

References System.Xml.Serialization.CodeGenerator.BeginMethod(), System.Xml.Serialization.CodeGenerator.DeclareLocal(), System.Xml.Dictionary, System.Type.EmptyTypes, System.Xml.Serialization.CodeGenerator.If(), System.Xml.Serialization.XmlSerializationILGen.ilg, System.Xml.Serialization.CodeGenerator.Ldarg(), System.Xml.Serialization.CodeGenerator.Load(), System.Xml.Serialization.CodeGenerator.LoadMember(), System.Xml.Serialization.CodeGenerator.MethodBuilder, System.Xml.Serialization.CodeGenerator.New(), and System.Xml.Serialization.CodeGenerator.Stloc().

Referenced by System.Xml.Serialization.XmlSerializationILGen.GeneratePublicMethods().