System.Runtime.Serialization.XmlFormatReaderGenerator.XmlFormatReaderGenerator.CriticalHelper.ReadCollectionItem C# (CSharp) Method

ReadCollectionItem() private method

private ReadCollectionItem ( CollectionDataContract collectionContract, Type itemType, string itemName, string itemNs ) : LocalBuilder
collectionContract CollectionDataContract
itemType System.Type
itemName string
itemNs string
return System.Reflection.Emit.LocalBuilder
            private LocalBuilder ReadCollectionItem(CollectionDataContract collectionContract, Type itemType, string itemName, string itemNs)
            {
                if (collectionContract.Kind == CollectionKind.Dictionary || collectionContract.Kind == CollectionKind.GenericDictionary)
                {
                    _ilg.Call(_contextArg, XmlFormatGeneratorStatics.ResetAttributesMethod);
                    LocalBuilder value = _ilg.DeclareLocal(itemType, "valueRead");
                    _ilg.Load(_collectionContractArg);
                    _ilg.Call(XmlFormatGeneratorStatics.GetItemContractMethod);
                    _ilg.Load(_xmlReaderArg);
                    _ilg.Load(_contextArg);
                    _ilg.Call(XmlFormatGeneratorStatics.ReadXmlValueMethod);
                    _ilg.ConvertValue(Globals.TypeOfObject, itemType);
                    _ilg.Stloc(value);
                    return value;
                }
                else
                {
                    return ReadValue(itemType, itemName, itemNs);
                }
            }