| File: GraphModel\GraphEdge.cs | Web Access |
| Project: src\nuget-client\src\NuGet.Core\NuGet.DependencyResolver.Core\NuGet.DependencyResolver.Core.csproj (NuGet.DependencyResolver.Core) |
// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. #nullable disable using NuGet.LibraryModel; namespace NuGet.DependencyResolver { /// <summary> /// GraphEdge holds a reference to the parent node, the incoming edge to the parent, and /// the out going edge to the current position of the walk. /// /// Root -> OuterEdge -> Node -> Edge -> (Current Node) /// </summary> public class GraphEdge<TItem> { public GraphEdge(GraphEdge<TItem> outerEdge, GraphItem<TItem> item, LibraryDependency edge) { OuterEdge = outerEdge; Item = item; Edge = edge; } /// <summary> /// Incoming edge to <see cref="Item"/>. /// </summary> public GraphEdge<TItem> OuterEdge { get; } /// <summary> /// Graph node between <see cref="OuterEdge"/> and <see cref="Edge"/>. /// </summary> public GraphItem<TItem> Item { get; } /// <summary> /// Outgoing edge from <see cref="Item"/>. /// </summary> public LibraryDependency Edge { get; } } }