DendroDocs.Client 0.4.0

Prefix Reserved
dotnet add package DendroDocs.Client --version 0.4.0
                    
NuGet\Install-Package DendroDocs.Client -Version 0.4.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DendroDocs.Client" Version="0.4.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DendroDocs.Client" Version="0.4.0" />
                    
Directory.Packages.props
<PackageReference Include="DendroDocs.Client" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add DendroDocs.Client --version 0.4.0
                    
#r "nuget: DendroDocs.Client, 0.4.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package DendroDocs.Client@0.4.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=DendroDocs.Client&version=0.4.0
                    
Install as a Cake Addin
#tool nuget:?package=DendroDocs.Client&version=0.4.0
                    
Install as a Cake Tool

DendroDocs.Client

DendroDocs.Client is a client library for the DendroDocs ecosystem that provides powerful extension methods for working with code analysis data. This library enables developers to manipulate and query code structure information, making it easier to work with TypeDescription, MethodDescription, InvocationDescription, and other code analysis models used in living documentation generation.

Features

  • Type Analysis Extensions - Query and manipulate TypeDescription collections with methods for inheritance resolution, member population, and type lookups
  • Method Analysis Extensions - Filter and analyze MethodDescription collections by name and other criteria
  • Invocation Analysis Extensions - Match method invocations, trace call consequences, and analyze method parameters
  • String Utilities - Helper methods for working with type names, generic types, and formatting for diagrams
  • Attribute Extensions - Filter and query attribute descriptions and their relationships
  • Inheritance Support - Automatically populate inherited base types and members from type hierarchies

Installation

To use DendroDocs.Client in your project, install it as a NuGet package:

dotnet add package DendroDocs.Client

Example Usage

using DendroDocs.Extensions;

// Working with type collections
var types = new List<TypeDescription>();
// ... populate types from analysis

// Find a specific type
var myType = types.FirstOrDefault("MyNamespace.MyClass");

// Populate inherited members
types.PopulateInheritedMembers();

// Working with method invocations
var invocation = new InvocationDescription();
var matchingMethods = types.GetInvokedMethod(invocation);
var consequences = types.GetInvocationConsequences(invocation);

// String formatting utilities
var typeName = "System.Collections.Generic.List<System.String>";
var diagramName = typeName.ForDiagram(); // "List<String>"
var isGeneric = typeName.IsGeneric(); // true
var genericTypes = typeName.GenericTypes(); // ["System.String"]

// Method filtering
var methods = new List<MethodDescription>();
var namedMethods = methods.WithName("MyMethod");

The DendroDocs Ecosystem

DendroDocs.Client is a key component of the broader DendroDocs ecosystem. It works together with DendroDocs.Tool (command-line analyzer for generating JSON from .NET projects) and DendroDocs.Shared (shared library with common utilities and models).

Contributing

Contributions are welcome! Please feel free to create issues or pull requests at https://github.com/dendrodocs/dotnet-client-lib.

License

This project is licensed under the MIT License.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.4.0 147 7/3/2025
0.3.0 149 7/1/2025
0.2.0 129 6/26/2025
0.1.0 133 6/26/2025