Skip to content

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>

ObjectGraphNode

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)

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; }

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; }

Public key token hex string, or null.

Returns: String

public string? PublicKeyToken { get; init; }

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; }

Assembly version string, or null when unavailable.

Returns: String

public string? Version { get; init; }