Edit

Share via


TypeName.GetNodeCount Method

Definition

Gets the total number of TypeName instances that are used to describe

this instance, including any generic arguments or underlying types.

public:
 int GetNodeCount();
public int GetNodeCount ();
member this.GetNodeCount : unit -> int
Public Function GetNodeCount () As Integer

Returns

Remarks

This value is computed every time this method gets called, it's not cached.

There's not really a parallel concept to this in reflection. Think of it

as the total number of TypeName instances that would be created if

you were to totally deconstruct this instance and visit each intermediate TypeName

that occurs as part of deconstruction.

"int" and "Person" each have complexities of 1 because they're standalone types.

"int[]" has a node count of 2 because to fully inspect it involves inspecting the

array type itself, plus unwrapping the underlying type ("int") and inspecting that.

"Dictionary<string, List<int[][]>>" has node count 8 because fully visiting it

involves inspecting 8 TypeName instances total:

Applies to