GraphNode
Namespace: Dotsider.Core.Analysis.Models
Assembly: Dotsider.Core.dll
A node in the transitive assembly dependency graph. Topology only — layout coordinates and rendered labels are the responsibility of the view layer, which projects the visible subgraph into a separate render model so filters and viewport changes rebalance without perturbing this record.
public sealed record GraphNode : IEquatable<GraphNode>Inheritance
Section titled “Inheritance”Object → GraphNode
Implements
Section titled “Implements”Constructors
Section titled “Constructors”GraphNode(string, string, string?, string, string?, bool, int, bool)
Section titled “GraphNode(string, string, string?, string, string?, bool, int, bool)”A node in the transitive assembly dependency graph. Topology only — layout coordinates and rendered labels are the responsibility of the view layer, which projects the visible subgraph into a separate render model so filters and viewport changes rebalance without perturbing this record.
Parameters:
Id(String): Stable opaque identifier for this node, derived from the full assembly identity (Name, Version, Culture, PublicKeyToken) via String). Two assemblies that share a simple name but differ in any identity field produce distinct ids.Name(String): Assembly simple name.Version(String): Assembly version string, or null when unavailable.Culture(String): Assembly culture, or"neutral"for culture-neutral assemblies. Never empty.PublicKeyToken(String): Public key token hex string, or null.IsRoot(Boolean): Whether this is the analyzed assembly (the root of the graph).Depth(Int32): The minimum number of AssemblyRef hops from the root to this node as discovered by BFS. Zero for the root; one for direct references; greater for transitive references.Unresolved(Boolean): Whether this node is a leaf that could not be resolved. Includes both the case where no probe produced any candidate and the case where a probe produced a simple-name match whose manifest identity did not match — the latter is further distinguished by the node’s navigation-context provenance.
public GraphNode(string Id, string Name, string? Version, string Culture, string? PublicKeyToken, bool IsRoot, int Depth, bool Unresolved)Properties
Section titled “Properties”Culture
Section titled “Culture”Assembly culture, or "neutral" for culture-neutral assemblies. Never empty.
Returns: String
public string Culture { get; init; }The minimum number of AssemblyRef hops from the root to this node as discovered by BFS. Zero for the root; one for direct references; greater for transitive references.
Returns: Int32
public int Depth { get; init; }Stable opaque identifier for this node, derived from the full assembly identity (Name, Version, Culture, PublicKeyToken) via String). Two assemblies that share a simple name but differ in any identity field produce distinct ids.
Returns: String
public string Id { get; init; }IsRoot
Section titled “IsRoot”Whether this is the analyzed assembly (the root of the graph).
Returns: Boolean
public bool IsRoot { get; init; }Assembly simple name.
Returns: String
public string Name { get; init; }PublicKeyToken
Section titled “PublicKeyToken”Public key token hex string, or null.
Returns: String
public string? PublicKeyToken { get; init; }Unresolved
Section titled “Unresolved”Whether this node is a leaf that could not be resolved. Includes both the case where no probe produced any candidate and the case where a probe produced a simple-name match whose manifest identity did not match — the latter is further distinguished by the node’s navigation-context provenance.
Returns: Boolean
public bool Unresolved { get; init; }Version
Section titled “Version”Assembly version string, or null when unavailable.
Returns: String
public string? Version { get; init; }