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
<PackageReference Include="DendroDocs.Client" Version="0.4.0" />
<PackageVersion Include="DendroDocs.Client" Version="0.4.0" />
<PackageReference Include="DendroDocs.Client" />
paket add DendroDocs.Client --version 0.4.0
#r "nuget: DendroDocs.Client, 0.4.0"
#:package DendroDocs.Client@0.4.0
#addin nuget:?package=DendroDocs.Client&version=0.4.0
#tool nuget:?package=DendroDocs.Client&version=0.4.0
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 | Versions 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. |
-
net8.0
- DendroDocs.Shared (>= 0.4.2)
- PlantUml.Builder (>= 0.1.63)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.