/// <summary> /// Reads a navigation link. /// </summary> /// <returns>A navigation link.</returns> private ODataNavigationLink ReadNavigationLink() { Debug.Assert(this.reader.State == ODataReaderState.NavigationLinkStart, "this.reader.State == ODataReaderState.NavigationLinkStart"); ODataNavigationLink link = (ODataNavigationLink)this.reader.Item; MaterializerEntry entry; ODataFeed feed; if (this.TryReadFeedOrEntry(false, out feed, out entry)) { if (feed != null) { MaterializerNavigationLink.CreateLink(link, feed); } else { Debug.Assert(entry != null, "entry != null"); MaterializerNavigationLink.CreateLink(link, entry); } this.ReadAndExpectState(ODataReaderState.NavigationLinkEnd); } this.ExpectState(ODataReaderState.NavigationLinkEnd); return(link); }
private ODataNavigationLink ReadNavigationLink() { MaterializerEntry entry; ODataFeed feed; ODataNavigationLink item = (ODataNavigationLink)this.reader.Item; if (this.TryReadFeedOrEntry(false, out feed, out entry)) { if (feed != null) { MaterializerNavigationLink.CreateLink(item, feed); } else { MaterializerNavigationLink.CreateLink(item, entry); } this.ReadAndExpectState(ODataReaderState.NavigationLinkEnd); } this.ExpectState(ODataReaderState.NavigationLinkEnd); return(item); }