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

GenerateCollectionReader() public method

public GenerateCollectionReader ( CollectionDataContract collectionContract ) : XmlFormatCollectionReaderDelegate
collectionContract CollectionDataContract
return XmlFormatCollectionReaderDelegate
            public XmlFormatCollectionReaderDelegate GenerateCollectionReader(CollectionDataContract collectionContract)
            {
                if (DataContractSerializer.Option == SerializationOption.ReflectionOnly)
                {
                    return new ReflectionXmlCollectionReader().ReflectionReadCollection;
                }
#if NET_NATIVE
                else if (DataContractSerializer.Option == SerializationOption.ReflectionAsBackup)
                {
                    return new ReflectionXmlCollectionReader().ReflectionReadCollection;
                }
#endif
                else
                {
#if NET_NATIVE
                    throw new InvalidOperationException("Cannot generate class reader");
#else
                    _ilg = GenerateCollectionReaderHelper(collectionContract, false /*isGetOnlyCollection*/);
                    ReadCollection(collectionContract);
                    _ilg.Load(_objectLocal);
                    _ilg.ConvertValue(_objectLocal.LocalType, _ilg.CurrentMethod.ReturnType);
                    return (XmlFormatCollectionReaderDelegate)_ilg.EndMethod();
#endif
                }
            }