GraphEdge
Namespace: Dotsider.Core.Analysis.Models
Assembly: Dotsider.Core.dll
A directed edge from a referencing assembly to a referenced assembly in the transitive dependency graph. Edges are retained for cycles and diamonds: revisiting an already-seen target identity emits a new edge but does not re-expand the target’s subtree.
public sealed record GraphEdge : IEquatable<GraphEdge>Inheritance
Section titled “Inheritance”Object → GraphEdge
Implements
Section titled “Implements”Constructors
Section titled “Constructors”GraphEdge(string, string, int, AssemblyRefInfo?)
Section titled “GraphEdge(string, string, int, AssemblyRefInfo?)”A directed edge from a referencing assembly to a referenced assembly in the transitive dependency graph. Edges are retained for cycles and diamonds: revisiting an already-seen target identity emits a new edge but does not re-expand the target’s subtree.
Parameters:
SourceId(String): The Id of the referencing assembly.TargetId(String): The Id of the referenced assembly.TypeRefCount(Int32): The number of TypeRef entries in the referencing assembly whose resolution scope resolves to the exact full identity of the target (not merely its simple name). Zero when the target is referenced by the AssemblyRef table but no TypeRefs are scoped to it.RequestedIdentity(AssemblyRefInfo): The identity exactly as it appeared in the referencing assembly’s AssemblyRef metadata, before any .NET Framework binding policy was applied. May differ from the target node’s identity when the target was keyed on the bound identity (e.g., two AssemblyRefs at different versions both redirected to the same loaded version collapse onto a single target node, but each edge preserves its own pre-redirect requested identity here). null when there was no policy rewrite — the requested identity is the same as the target node’s identity in that case.
public GraphEdge(string SourceId, string TargetId, int TypeRefCount, AssemblyRefInfo? RequestedIdentity = null)Properties
Section titled “Properties”RequestedIdentity
Section titled “RequestedIdentity”The identity exactly as it appeared in the referencing assembly’s AssemblyRef metadata, before any .NET Framework binding policy was applied. May differ from the target node’s identity when the target was keyed on the bound identity (e.g., two AssemblyRefs at different versions both redirected to the same loaded version collapse onto a single target node, but each edge preserves its own pre-redirect requested identity here). null when there was no policy rewrite — the requested identity is the same as the target node’s identity in that case.
Returns: AssemblyRefInfo
public AssemblyRefInfo? RequestedIdentity { get; init; }SourceId
Section titled “SourceId”The Id of the referencing assembly.
Returns: String
public string SourceId { get; init; }TargetId
Section titled “TargetId”The Id of the referenced assembly.
Returns: String
public string TargetId { get; init; }TypeRefCount
Section titled “TypeRefCount”The number of TypeRef entries in the referencing assembly whose resolution scope resolves to the exact full identity of the target (not merely its simple name). Zero when the target is referenced by the AssemblyRef table but no TypeRefs are scoped to it.
Returns: Int32
public int TypeRefCount { get; init; }